KR102229487B1 - 리던던트 프레임 정보를 통신하는 시스템들 및 방법들 - Google Patents

리던던트 프레임 정보를 통신하는 시스템들 및 방법들 Download PDF

Info

Publication number
KR102229487B1
KR102229487B1 KR1020167012158A KR20167012158A KR102229487B1 KR 102229487 B1 KR102229487 B1 KR 102229487B1 KR 1020167012158 A KR1020167012158 A KR 1020167012158A KR 20167012158 A KR20167012158 A KR 20167012158A KR 102229487 B1 KR102229487 B1 KR 102229487B1
Authority
KR
South Korea
Prior art keywords
frame
audio frame
audio
bits
coding information
Prior art date
Application number
KR1020167012158A
Other languages
English (en)
Other versions
KR20160072145A (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 KR20160072145A publication Critical patent/KR20160072145A/ko
Application granted granted Critical
Publication of KR102229487B1 publication Critical patent/KR102229487B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • 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/0075Transmission of coding parameters to receiver
    • 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/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • 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
    • G10L2019/0001Codebooks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

방법은 디코더에서 제 2 오디오 프레임을 수신하는 단계를 포함한다. 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 프레임에 후속하며, 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당된 비트들의 제 1 개수, 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당된 비트들의 제 2 개수, 및 제 1 오디오 프레임의 프레임 타입의 표시자를 포함한다. 제 1 오디오 프레임과 연관된 프레임 소거 조건에 응답하여, 비트들의 제 2 개수는 표시자에 기초하여 결정되고 제 1 오디오 프레임을 디코딩하기 위해 사용된다. 클린 채널 조건들에 있어서, 제 1 오디오 프레임이 수신되고 제 1 오디오 프레임에서의 프라이머리 코딩 비트들에 기초하여 디코딩되고, 비트들의 제 1 개수는 표시자에 기초하여 결정되고 제 2 오디오 프레임을 디코딩하기 위해 사용된다.

Description

리던던트 프레임 정보를 통신하는 시스템들 및 방법들{SYSTEMS AND METHODS OF COMMUNICATING REDUNDANT FRAME INFORMATION}
관련 출원들에 대한 상호 참조
본 출원은 명칭이 "SYSTEMS AND METHODS OF COMMUNICATING REDUNDANT FRAME INFORMATION" 이고 2013 년 10 월 11 일에 출원된 U.S. 가특허 출원 제 61/890,092 호, 및 명칭이 "SYSTEMS AND METHODS OF COMMUNICATING REDUNDANT FRAME INFORMATION" 이고 2014 년 10 월 8 일에 출원된 U.S. 정규 특허 출원 제 14/509,817 호의 우선권을 주장하며, 이 U.S. 출원들의 내용들은 그 전부가 참조로서 통합된다.
본 개시물은 일반적으로 리던던트 프레임 정보를 통신하는 것에 관한 것이다.
기술에서의 진보는 더 작고 더 강력한 컴퓨팅 디바이스들을 야기하고 있다. 예를 들어, 작고, 경량이며 사용자들에 의해 쉽게 휴대되는 포터블 무선 전화기들, 개인용 디지털 보조기들 (PDA), 및 페이징 디바이스들과 같은 무선 컴퓨팅 디바이스들을 포함하는 다양한 포터블 개인용 컴퓨팅 디바이스들이 현재 존재한다. 보다 구체적으로, 셀룰러 전화기들 및 인터넷 프로토콜 (IP) 전화기들과 같은 포터블 무선 전화기들은 무선 네트워크를 통해 음성 및 데이터 패킷들을 통신할 수 있다. 또한, 많은 그러한 무선 전화기들은 그 내부에 통합되는 디바이스들의 다른 타입들을 포함한다. 예를 들어, 무선 전화기는 또한 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어를 포함할 수 있다.
무선 전화기들과 같은 전자 디바이스들은 네트워크들을 통해 데이터를 전송하고 수신할 수도 있다. 예를 들어, 오디오 데이터는 회로 교환형 네트워크 (예를 들어, 공중 교환형 전화 네트워크 (PSDN), 모바일 통신을 위한 글로벌 시스템 (GSM) 네트워크 등) 또는 패킷 교환형 네트워크 (예를 들어, VoIP (voice over internet protocol) 네트워크, 또는 VoLTE (voice over long term evolution) 네트워크) 를 통해 송신되고 수신될 수도 있다. 패킷 교환형 네트워크에 있어서, 오디오 패킷들은 소스 디바이스로부터 목적지 디바이스로 개별적으로 라우팅될 수도 있다. 네트워크 조건들로 인하여, 오디오 패킷들이 비순차적으로 (out or order) 도착할 수도 있다. 목적지 디바이스는 수신된 패킷들을 디-지터 (de-jitter) 버퍼에 저장할 수도 있고 필요한 경우 수신된 패킷들을 재배열할 수도 있다.
다양한 인코딩 스킴들이 오디오 데이터를 통신할 때 사용될 수도 있다. 예를 들어, 오디오 프레임 타입에 의존하여, 코드 여기 선형 예측 (CELP) 접근법 또는 주파수 도메인 기반 수정 이산 코사인 변환 (MDCT) 이 스피치 및 오디오를 컴팩트하게 표현하기 위해 사용될 수 있다. 예를 들어, 8 킬로헤르쯔 (kHz) 광대역 (WB), 16 kHz 초광대역 (SWB), 또는 20 kHz 전대역 까지의 큰 대역폭들을 인코딩할 때, 낮은 비트 레이트들 (예를 들어, 13.2 kbps (초당 킬로비트), 24.4 kbps 등) 에서의 코딩 효율을 개선하기 위해서, 더 낮은 대역 코어 (예를 들어, 6.4 kHz 까지 또는 8 kHz 까지) 가 통상적으로 CELP 또는 MDCT 와 같은 파형 매칭 코딩 기법들을 사용하여 인코딩된다. 고대역 (예를 들어, > 6.4 kHz 또는 > 8 kHz) 을 모델링하고 "부가 정보 (side information)" (예를 들어, 고대역 파라미터들과 연관됨) 를 인코딩하는 대역폭 확장 (BWE) 이 수행된다. 고대역 부가 정보는 미세하고 조악한 시간적 진화 둘다를 모델링하는 선형 예측 (LP) 필터 계수들 및 이득 파라미터들을 포함할 수도 있다. 인코더 또는 소스 디바이스는, 목적지 디바이스가 고품질 재구성을 위해 목적지 디바이스에서 오디오 프레임의 고주파수 부분을 합성할 수 있도록 저주파수 부분과 함께 부가 정보를 목적지 디바이스로 전송할 수도 있다.
패킷 교환형 네트워크들에서의 패킷들은 비순차적으로 도착할 수 있기 때문에, 특정 패킷 (예를 들어, 오디오 프레임 N 에 대응) 이 오류가 생기거나 분실되더라도, 후속 패킷 (예를 들어, 오디오 프레임 N+2 에 대응) 은 에러가 없고 디-지터 버퍼에서 이용가능할 수도 있다. 이로써, 후속 프레임 (예를 들어, 프레임 N+2) 에 있어서, 이전 프레임 (예를 들어, 프레임 N) 을 재구성하기 위해 사용될 수 있는 리던던트 코딩 정보 (예를 들어, 에러 보정 정보) 를 포함하는 것이 유용할 수도 있다.
본 개시물은 리던던트 프레임 정보를 통신하는 시스템들 및 방법들을 기재한다. 기재된 기법들에 따라, 대역폭 확장 (BWE) 스킴이 사용되고 있을 때, 오디오 프레임은 데이터의 4 개의 타입들: 인코딩된 저대역 코어, 고대역 부가 정보, 이전 프레임의 저대역 부분과 연관된 리던던트 코딩 정보, 및 이전 프레임의 고대역 파라미터들과 연관된 리던던트 코딩 정보를 포함할 수도 있다. 현재 프레임에 대한 저대역 코어 및 고대역 부가 정보는 총괄적으로 "프라이머리" 코딩으로서 지칭될 수도 있다. 이전 프레임에 대한 저대역 및 고대역을 위한 리던던트 코딩 정보는 총괄적으로 "부분 복제 (partial copy)" 로서 지칭될 수도 있다. 따라서, 프레임은 그 자신의 저대역 및 고대역을 위한 프라이머리 코딩 비트들을 포함할 수도 있고, 프레임은 또한 이전 프레임의 저대역 및 고대역을 위한 부분 복제를 포함할 수도 있다.
프레임 소거 조건이 발생할 때 (예를 들어, 이전 프레임이 네트워크 에러로 인해 수신되지 않거나 오류가 생길 때), 리던던트 코딩 정보는 이전 프레임을 재구성하기 위해 수신기에 의해 사용될 수도 있다. 또한, 데이터의 4 개의 타입들, 즉 저대역 코어, 고대역 부가 정보, 이전 프레임의 저대역 코어의 부분 복제, 및 이전 프레임의 고대역의 부분 복제의 각각에 할당된 비트들의 개수는, 송신되고 있는 오디오 신호의 특성들에 기초하여 동적으로 조정될 수도 있다. 이전 프레임이 성공적으로 수신될 때에도 (예를 들어, 클린 채널 조건들에서), 디코더는 프라이머리 코딩 비트들을 코딩하기 전에 부분 복제 비트들로부터 프라이머리 코딩 비트들을 분리할 수도 있다.
특정 양태에 있어서, 프레임을 디코딩하는 방법은, 컴퓨팅 디바이스의 디코더에서 제 2 오디오 프레임을 수신하는 단계를 포함하고, 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 프레임에 후속한다. 제 2 오디오 프레임은 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보 (예를 들어, 인코딩된 저대역 코어 및 고대역 파라미터들) 에 할당된 비트들의 제 1 개수를 포함한다. 제 2 오디오 프레임은 또한 제 1 오디오 프레임과 연관된 리던던트 (예를 들어, 부분 복제) 코딩 정보에 할당된 비트들의 제 2 개수를 포함한다. 제 2 오디오 프레임은 제 1 오디오 프레임의 프레임 타입 (예를 들어, 부분 복제 프레임 타입) 의 표시자를 더 포함한다. 방법은, 제 1 오디오 프레임과 연관된 프레임 소거 조건에 응답하여, 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당되는 제 2 오디오 프레임의 비트들의 제 2 개수를, 표시자에 기초하여 결정하는 단계를 포함한다. 방법은 리던던트 코딩 정보에 기초하여 제 1 오디오 프레임 프레임을 디코딩하는 단계를 더 포함한다.
다른 특정 양태에서, 프레임을 디코딩하는 방법은 컴퓨팅 디바이스의 디코더에서 제 1 오디오 프레임 및 제 2 오디오 프레임을 수신하는 단계를 포함한다. 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 프레임에 후속한다. 제 2 오디오 프레임은 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당된 비트들의 제 1 개수, 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당된 비트들의 제 2 개수, 및 제 1 오디오 프레임의 프레임 타입의 표시자를 포함한다. 방법은 또한 제 1 오디오 프레임을 디코딩하는 단계를 포함한다. 방법은 표시자에 기초하여, 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당되는 제 2 오디오 프레임의 비트들의 제 1 개수를 결정하는 단계를 더 포함한다. 방법은 프라이머리 코딩 정보에 기초하여 제 2 오디오 프레임을 디코딩하는 단계를 포함한다. 특정 실시형태에서, 방법은 (예를 들어, 제 2 오디오 프레임을 나타내기 위해 사용되는) 비트들의 총 개수로부터 제 1 오디오 프레임의 부분 복제에 할당된 비트들의 제 2 개수를 감산하는 것에 의해 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당된 비트들의 제 1 개수를 결정하는 단계를 포함한다.
다른 특정 양태에서, 프레임을 인코딩하는 방법은 제 1 컴퓨팅 디바이스의 인코더에서 오디오 신호의 제 1 오디오 프레임을 인코딩하는 단계 및 제 1 컴퓨팅 디바이스로부터의 제 1 오디오 프레임을 제 2 컴퓨팅 디바이스로 송신하는 단계를 포함한다. 방법은 또한 제 1 오디오 프레임의 프레임 타입에 기초하여, 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당하기 위한 제 2 오디오 프레임의 비트들의 제 1 개수 및 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당하기 위한 제 2 오디오 프레임의 비트들의 제 2 개수를 결정하는 단계를 포함한다. 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 프레임에 후속한다. 방법은 또한 제 2 오디오 프레임을 인코딩하는 단계 및 제 1 컴퓨팅 디바이스로부터의 제 2 오디오 프레임을 제 2 컴퓨팅 디바이스로 송신하는 단계를 포함한다. 제 2 오디오 프레임은 프라이머리 코딩 정보의 비트들의 제 1 개수, 리던던트 코딩 정보의 비트들의 제 2 개수, 및 제 1 오디오 프레임의 프레임 타입의 표시자를 포함한다.
다른 특정 양태에서, 장치는 제 2 오디오 신호를 수신하도록 구성된 수신기를 포함한다. 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 프레임에 후속한다. 제 2 오디오 프레임은 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당된 비트들의 제 1 개수를 포함한다. 제 2 오디오 프레임은 또한 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당된 비트들의 제 2 개수를 포함한다. 제 2 오디오 프레임은 제 1 오디오 프레임의 프레임 타입의 표시자를 더 포함한다. 장치는 또한, 제 1 오디오 프레임과 연관된 프레임 소거 조건에 응답하여, 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당되는 제 2 오디오 프레임의 비트들의 제 2 개수를, 표시자에 기초하여 결정하도록 구성된 디코더를 포함한다. 디코더는 리던던트 코딩 정보에 기초하여 제 1 오디오 프레임을 디코딩하도록 구성된다.
다른 특정 양태에서, 장치는 제 1 오디오 프레임 및 오디오 신호에 있어서 제 1 오디오 프레임에 후속하는 제 2 오디오 프레임을 수신하도록 구성된 수신기를 포함한다. 제 2 오디오 프레임은 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당된 비트들의 제 1 개수를 포함한다. 제 2 오디오 프레임은 또한 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당된 비트들의 제 2 개수를 포함한다. 제 2 오디오 프레임은 제 1 오디오 프레임의 프레임 타입의 표시자를 더 포함한다. 장치는 또한 제 1 오디오 프레임을 디코딩하고, 표시자에 기초하여, 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당되는 제 2 오디오 프레임의 비트들의 제 1 개수를 결정하도록 구성된 디코더를 포함한다. 디코더는 프라이머리 코딩 정보에 기초하여 제 2 오디오 프레임을 디코딩하도록 구성된다.
다른 특정 양태에서, 장치는 오디오 신호의 제 1 오디오 프레임을 인코딩하도록 구성된 인코더를 포함한다. 인코더는 또한, 제 1 오디오 프레임의 프레임 타입에 기초하여, 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당하기 위한 제 2 오디오 프레임의 비트들의 제 1 개수 및 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당하기 위한 제 2 오디오 프레임의 비트들의 제 2 개수를 결정하도록 구성된다. 인코더는 또한 제 2 오디오 프레임을 인코딩하도록 구성된다. 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 프레임에 후속한다. 제 2 오디오 프레임은 프라이머리 코딩 정보의 비트들의 제 1 개수, 리던던트 코딩 정보의 비트들의 제 2 개수, 및 제 1 오디오 프레임의 프레임 타입의 표시자를 포함한다. 장치는 또한 제 1 오디오 프레임 및 제 2 오디오 프레임을 목적지 디바이스로 송신하도록 구성된 송신기를 포함한다.
개시된 실시형태들 중 적어도 하나에 의해 제공된 특정 이점들은 오디오 스트림의 나중 프레임에 있어서 오디오 스트림의 초기 프레임에 대한 리던던트 코딩 정보를 제공하기 위한 능력을 포함한다. 나중 프레임에 포함된 리던던트 코딩 정보는, 예컨대 초기 프레임이 네트워크 에러로 인해 오류가 생기거나 분실될 때, 초기 프레임의 재구성을 가능하게 할 수도 있다. 본 개시물의 다른 양태들, 이점들 및 피처들은 다음의 섹션들: 도면의 간단한 설명, 상세한 설명 및 청구항들을 포함하여, 전체 출원을 리뷰한 후 명백해질 것이다.
도 1 은 리던던트 프레임 정보를 통신하기 위해 동작가능한 시스템의 특정 실시형태를 도시하기 위한 다이어그램이다.
도 2 는 다른 오디오 프레임에 대한 리던던트 코딩 정보를 포함하는 오디오 프레임의 특정 실시형태를 도시하기 위한 다이어그램이다.
도 3 은 다른 오디오 프레임에 대한 리던던트 코딩 정보를 포함하는 오디오 프레임의 다른 특정 실시형태를 도시하기 위한 다이어그램이다.
도 4 는 고대역 이득 프레임 코드북의 특정 실시형태를 도시하기 위한 다이어그램이다.
도 5 는 리던던트 프레임 정보를 인코딩하도록 구성된 병렬 경로 인코더의 특정 실시형태를 도시하기 위한 다이어그램이다.
도 6 은 리던던트 프레임 정보를 디코딩하도록 구성된 단일 경로 디코더의 특정 실시형태를 도시하기 위한 다이어그램이다.
도 7 및 도 8 은 후속 프레임에 포함된 리던던트 코딩 정보에 기초하여 프레임을 디코딩하는 방법의 특정 실시형태를 예시하기 위한 플로우 챠트를 총괄하여 도시한다.
도 9 는 후속 프레임으로의 프레임에 대한 리던던트 코딩 정보를 인코딩하는 는 특정 실시형태를 도시하기 위한 플로우 챠트이다.
도 10 은 도 1 내지 도 9 의 시스템들 및 방법들에 따른, 동작들을 수행하도록 동작가능한 무선 디바이스의 블록 다이어그램이다.
본 개시물의 특정 실시형태들은 도면들을 참조하여 하기에서 설명된다. 설명 및 도면들에 있어서, 도시되고 기재되는 바와 같이 공통 피처들은 실시형태들을 명확히 하기 위해 공통 참조 번호들로 지정된다.
도 1 을 참조하면, 리던던트 프레임 정보를 통신하도록 동작가능한 시스템의 특정 실시형태가 나타나 있으며 일반적으로 100 으로 지정된다. 시스템 (100) 은 제 1 컴퓨팅 디바이스 (110) 및 제 2 컴퓨팅 디바이스 (120) 를 포함한다. 제 1 컴퓨팅 디바이스 (110) 및 제 2 컴퓨팅 디바이스 (120) 는 패킷 교환형 네트워크를 통해, 오디오 프레임과 같은 데이터를 통신하도록 구성될 수도 있다. 예를 들어, 패킷 교환형 네트워크는 VoIP 네트워크, VoLTE 네트워크, 또는 다른 패킷 교환형 네트워크를 포함할 수도 있다. 예시적인 실시형태에서, 제 1 컴퓨팅 디바이스 (110) 및 제 2 컴퓨팅 디바이스 (120) 는 각각 모바일 폰, 컴퓨팅 디바이스 (예를 들어, 랩탑 컴퓨터, 데스크탑 컴퓨터, 테블릿 컴퓨터, 서버 컴퓨터 등), 미디어 플레이어, 게이밍 디바이스, 셋톱 박스 디바이스, 네비게이션 디바이스, 패킷 교환형 네트워크의 컴포넌트, 오디오 데이터를 통신하도록 구성된 다른 디바이스, 및 이들의 임의의 조합을 포함한다.
제 1 컴퓨팅 디바이스 (110) 는 프로세서 (112)(예를 들어, 중앙 프로세싱 유닛 (CPU), 디지털 신호 프로세서 (DSP) 등) 및 메모리 (114) 를 포함할 수도 있다. 특정 실시형태에서, 메모리 (114) 는 본 명세서에 기재된 다양한 동작들을 수행하도록 프로세서 (112) 에 의해 실행가능한 명령들을 저장한다. 제 1 컴퓨팅 디바이스 (110) 는 또한 인코더 (116) 및 송신기 (118) 를 포함할 수도 있다. 인코더 (116) 는 (예를 들어, 패킷 교환형 네트워크를 통해) 송신기 (118) 에 의해 송신되는 오디오 프레임들을 인코딩할 수도 있다. 대안의 실시형태들에서, 제 1 컴퓨팅 디바이스 (110) 는 송신기 (118) 에 부가하여 수신기를 포함할 수도 있고 또는 데이터를 송신하고 수신하도록 구성된 트랜시버를 포함할 수도 있다. 인코더 (116) 는 예시적인 오디오 프레임들 (131, 132, 133, 및 134) 를 포함하는, 오디오 프레임들의 시퀀스를 인코딩할 수도 있다. 도 1 에서, 오디오 프레임들 (131, 132, 133 및 134) 은 오디오 신호의 4 개의 연속적인 프레임들이고, (N-1) 번째 프레임, N 번째 프레임, (N+1) 번째 프레임 및 (N+2) 번째 프레임으로서 각각 지정된다. 가독성을 위해, 이들 프레임들은 본 명세서에서 프레임N-1, 프레임N, 프레임N+1, 및 프레임N+2 로서 각각 지칭된다. 도 1 에는 오디오 프레임들 (131-134) 이 좌측에서 우측 순서로 도시되어 있지만, 이것은 오디오 프레임들 (131-134) 이 제 2 컴퓨팅 디바이스 (120) 에 의해 그러한 순서로 수신되는 것을 암시하는 것으로 해석되지 않아야 하는 것을 유의해야 한다. 본 명세서에 더 기재되는 바와 같이, 오디오 프레임들은 네트워크 에러로 인해 분실될 수 있고 또는 목적지 디바이스에 비순차적으로 도착할 수 있다.
오디오 프레임들 (131-134) 의 각각은 인코딩된 저대역 신호 ("LB 코어") 및 고대역 파라미터들 ("HB 파라미터들") 을 포함할 수도 있다. 프레임의 LB 코어 및 HB 파라미터들은 프레임의 프라이머리 코딩으로서 총괄적으로 지칭될 수도 있다. 특정 실시형태에서, 오디오 프레임들 (131-134) 의 각각은 고정 사이즈를 가지며, 인코딩된 저대역 코어 및 고대역 파라미터들에 할당된 대역폭의 양 (예를 들어, 프레임의 비트들의 개수) 은, 본 명세서에서 더 설명되는 바와 같이, 프레임에서 프레임까지 동적으로 조정될 수 있다. 네트워크 에러들의 존재 시 오디오 디코딩 성능을 개선하기 위해서, 오디오 프레임들 (131-134) 의 하나 이상은 이전 프레임의 리던던트 코딩 정보를 포함할 수도 있다. 리던던트 코딩 정보는 저대역 리던던트 코딩 정보 및/또는 고대역 파라미터 리던던트 코딩 정보를 포함할 수도 있다. 이전 프레임의 저대역 및 고대역에 대한 리던던트 코딩 정보는 이전 프레임의 "부분 복제" 로서 총괄적으로 지칭될 수도 있다. 특정 실시형태에서, 저대역 리던던트 코딩 정보 및 고대역 리던던트 코딩 정보에 할당된 대역폭의 양 (예를 들어, 프레임의 비트들의 개수) 은, 본 명세서에서 더 설명되는 바와 같이, 프레임에서 프레임까지 동적으로 조정될 수 있다.
예를 들어, 인코더 (116) 는 후속 프레임N+OFFSET 에 있어서 프레임N (132) 에 대한 리던던트 코딩 정보를 인코딩할 수도 있으며, 여기서 OFFSET 은 1 이상의 정수이다. 프레임들이 패킷 교환형 네트워크를 통해 통신될 때, 각각의 프레임은 목적지 디바이스로 개별적으로 라우팅될 수도 있고 비순차적으로 도착할 수도 있다. 이로써, 프레임N (132)(또는 그 일부) 이 오류가 생길 수도 있고 또는 제 2 컴퓨팅 디바이스 (120) 에 도착하지 않을 수도 있더라도 (본 명세서에서는 프레임N (132) 에 대한 "프레임 소거" 조건으로서 총괄적으로 지칭됨), 프레임 N+OFFSET 은 온전한 제 2 컴퓨팅 디바이스 (120) 에 도착할 수도 있다 (또는 이미 도착했을 수도 있다). 프레임N+OFFSET 에서의 리던던트 코딩 정보는 프레임N (132) 또는 그 일부) 를 재구성하거나 심각한 아티팩트 (artifact) -도입 에러 전파를 저지하기 위해 제 2 컴퓨팅 디바이스 (120) 에 의해 사용될 수도 있다.
도 1 의 예에서, OFFSET 은 2 이다. 따라서, 프레임N-1 프레임 (131) 에 대한 리던던트 코딩 정보가 프레임N+1 (133) 에 부가되고, 프레임N (132) 에 대한 리던던트 코딩 정보는 프레임N+2 (134) 에 부가되는 등이다. 대안의 실시형태들에서, OFFSET 파라미터는 2 이외의 값을 가질 수도 있다. OFFSET 파라미터의 값은 산업 표준 (예를 들어, 강화된 음성 서비스 (EVS) 표준) 에 의해 정의될 수도 있고, 컴퓨팅 디바이스들 (110 및 120) 에 의해 협상될 수도 있으며, 및/또는 측정된 또는 추정된 네트워크 에러들에 기초하여 결정될 수도 있다. 예시적인 실시형태에서, 제 1 컴퓨팅 디바이스 (110) 는 리던던트 코딩 정보를 송신할지 여부를 결정하도록 구성될 수도 있다. 예를 들어, 제 1 컴퓨팅 디바이스 (110) 는 프레임N (132) 과 연관된 "중요도" 파라미터에 기초하여 프레임N+2 (134) 에서 프레임N (132) 에 대한 리던던트 프레임 정보를 전송할지 여부를 결정할 수도 있으며, 여기서 중요도 파라미터는 송신 동안 프레임N (132) 이 분실되어야 하는 오디오 신호에서 아티팩트들을 감소 또는 최소화하는데 있어서의 프레임N (132) 의 상대적 중요성을 표시한다. 따라서, 리던던트 프레임 정보의 통신은, 프레임 마다에 기초하여, 네트워크 또는 채널 조건들에 기초하여 뿐만 아니라 소스 제어 파라미터들에 의존하여 수행될 수도 있다.
특정 실시형태에서, LB 코어들, HB 파라미터들, HB 리던던트 코딩 정보 및 LB 리던던트 코딩 정보에 의해 프레임에서 점유되는 스페이스의 양 (예를 들어, 비트들의 개수) 은 인코더 (116) 에 의해 동적으로 조정된다. 예를 들어, 도 1 에 나타낸 바와 같이, HB 대 LB 리던던트 코딩 정보의 비는 프레임N+2 (134) 에서 보다 프레임N+1 (133) 에서 더 낮다. 특정 실시형태에서, HB 대 LB 리던던트 코딩 정보는 [25%, 75%] 스플릿과 [5%, 95%] 스플릿 사이에서 변화한다. 다른 예로서, 도 1 에 나타낸 바와 같이, HB 파라미터들 대 LB 코어의 비는 프레임N+1 (133) 에서 보다 프레임N-1 (131) 에서 더 낮고, HB 파라미터들 대 LB 코어의 비는 프레임N (132) 및 프레임N+2 (134) 에서 보다 프레임 N+1 (133) 에서 더 낮다.
일 예로서, 오디오 프레임에 대한 공칭 인코딩 비트레이트는, 리던던트 코딩 정보가 오디오 프레임에 포함되지 않을 때 13.2 kbps 일 수도 있다. 리던던트 코딩 정보를 수용하기 위해서, 오디오 프레임의 LB 코어 및 HB 파라미터들에 대한 코딩 레이트는 9.6 kbps 로 감소될 수도 있다. 나머지 3.6 kbps 대역폭은 이전 프레임에 대한 HB 및 LB 리던던트 코딩 정보를 인코딩하기 위해 사용될 수도 있으며, 여기서 HB 및 LB 리던던트 코딩 정보 사이의 스플릿은 [25%, 75%] 스플릿과 [5%, 95%] 스플릿 사이에서 프레임에서 프레임까지 동적으로 달라질 수 있다. 기재된 비트레이트들 및 스플릿들은 단지 예시를 위해서일 뿐임을 알아야 한다. 대안의 실시형태들에서, 기재된 기법들은 상이한 비트레이트들 및 상이한 스플릿들로 사용될 수도 있다. 다른 특정 실시형태에서, 리던던트 프레임과 프라이머리 프레임 사이에 분포된 비트들의 비는 적응적일 수도 있다. 예를 들어, 프라이머리 프레임은 총 13.2 kbps 중 11.6 kbps 를 사용할 수도 있는 한편 리던던트 프레임은 1.6 kbps 를 사용할 수도 있다. 다른 예에서, 프라이머리 프레임은 총 13.2 kbps 중 12.6 kbps 를 사용할 수도 있는 한편 리던던트 프레임은 0.6 kbps 를 사용할 수도 있다. "중요도" 파라미터에 기초하여 이러한 동적 비트 할당이 달성될 수도 있고, 일부 비트들이 리던던트 프레임 코딩을 위해 사용될 때 클린 채널 조건들에서 또는 네트워크 에러들이 존재하지 않을 시에 프라이머리 프레임 품질의 저하를 제한할 수도 있다.
특정 프레임 (예를 들어, 프레임N+2 (134)) 에 있어서 HB 리던던트 코딩 정보 및 LB 리던던트 코딩 정보에 얼마나 많은 스페이스를 할당할지를 결정할 때, 인코더 (116) 는 사용되고 있는 패킷 교환형 네트워크의 특성들, 리던던트 코딩 정보가 송신되고 있는 특정 프레임 및/또는 이전 프레임 (예를 들어, 프레임N (132)) 을 고려할 수도 있다. 리던던트 코딩 정보 및 오디오 프레임 내에서 그러한 리던던트 코딩 정보에 얼마나 많은 공간이 할당되는지를 동적으로 조정하는 것의 예들은 도 2 내지 도 9 를 참조하여 더 기재된다.
제 2 컴퓨팅 디바이스 (120) 는 프로세서 (122) 및 메모리 (124) 를 포함할 수도 있다. 특정 실시형태에서, 메모리 (124) 는 본 명세서에 기재된 이전 동작들을 수행하기 위해 프로세서 (122) 에 의해 실행가능한 명령들을 저장한다. 제 2 컴퓨팅 디바이스 (120) 는 또한 디코더 (126) 및 수신기 (128) 를 포함할 수도 있다. 디코더 (126) 는 오디오 프레임들 (131, 132, 133, 및/또는 134) 과 같은 (예를 들어, 패킷 교환형 네트워크를 통해) 수신기 (128) 에 의해 수신되는 오디오 프레임들을 디코딩할 수도 있다. 대안의 실시형태들에서, 제 2 컴퓨팅 디바이스 (120) 는 수신기 (128) 에 부가하여 송신기를 포함할 수도 있고, 또는 데이터를 송신하고 수신하도록 구성된 트랜시버를 포함할 수도 있다.
특정 실시형태에서, 제 2 컴퓨팅 디바이스 (120) 는 디-지터 버퍼 (129) 로서 도 1 에 도시되어 있는 버퍼를 포함한다. 수신기 (128) 는 수신된 패킷들 (예를 들어, 오디오 프레임들) 을 디-지터 버퍼 (129) 에 저장할 수도 있다. 패킷 교환형 네트워크들을 통해 송신된 패킷들이 비순차적으로 도달할 수 있기 때문에, 디-지터 버퍼 (129) 는 예를 들어 패킷 타임 스탬프에 기초하여, 수신된 패킷들을 저장하고 리오더링하기 위해 사용될 수도 있다. 네트워크 에러들의 존재 시, 디코더 (126) 가 하나 이상의 패킷들의 전부 또는 일부를 디코딩하기 위해 사용할 수 없을 수도 있는데, 이는 패킷들 (또는 그 부분(들)) 이 오류가 생기거나 분실될 수 (예를 들어, 수신되지 않을 수) 도 있기 때문이다. 예를 들어, 오디오 프레임들 (131-134) 의 송신 동안, 프레임N (132) 이 분실될 수도 있다. 디코더 (126) 는 프레임N+2 (134) 에서 리던던트 코딩 정보로부터 분실된 프레임N (132) 을 재구성할 수도 있다. 리던던트 코딩 정보 및 분실된 오디오 프레임의 재구성의 예들은 도 2 내지 도 9 를 참조하여 더 기재된다.
동작 동안, 제 1 컴퓨팅 디바이스 (110) 는 오디오 프레임들 (131-134) 을 인코딩하고 패킷 교환형 네트워크를 통해 제 2 컴퓨팅 디바이스 (120) 로 송신할 수도 있다. 제 2 컴퓨팅 디바이스 (120) 는 디-지터 버퍼 (129) 에 수신된 오디오 프레임들을 버퍼링할 수도 있다. 디코더 (126) 은 디-지터 버퍼 (129) 로부터 저장된 오디오 프레임들을 취출하고 이 오디오 프레임들을 디코딩할 수도 있다. 디코더 (126) 가 특정 오디오 프레임 (또는 그 일부) 를 디코딩할 수 없다고 결정할 때 (예를 들어, 프레임 또는 그 일부가 오류가 생기거나 수신되지 않기 때문에), 디코더 (126) 는 오류가 생긴/분실된 프레임에 대한 리던던트 코딩 정보를 포함하는 프레임 (예를 들어, 오디오 스트림에서 오류가 생긴/분실된 프레임에 후속하는 "향후" 프레임) 의 가용성을 위해 디-지터 버퍼 (129) 를 체크할 수도 있다. 그러한 향후 프레임이 이용가능한 경우, 디코더 (126) 는 향후 프레임으로부터의 리던던트 코딩 정보를 사용하여 특정 오디오 프레임 (또는 그 일부) 을 재구성하고 디코딩할 수도 있다. 따라서, 도 1 의 시스템 (100) 은 불리한 네트워크 조건들의 존재 시 오디오 디코딩 성능을 개선하기 위해 사용될 수 있는 리던던트 프레임 정보의 통신을 가능하게 할 수도 있다.
위의 기재에 있어서, 도 1 의 시스템 (100) 에 의해 수행된 다양한 기능들은 소정의 컴포넌트들 또는 모듈들에 의해 수행된다는 것을 알아야 한다. 하지만, 컴포넌트들 및 모듈들의 이러한 분할은 단지 예시를 위해서일 뿐이다. 대안의 실시형태에서, 특정 컴포넌트 또는 모듈에 의해 수행되는 기능은 다중 컴포넌트들 또는 모듈들 사이에서 대신 분할될 수도 있다. 게다가, 대안의 실시형태에서, 도 1 의 2 이상의 컴포넌트들 또는 모듈들은 단일 컴포넌트 또는 모듈로 통합될 수도 있다. 도 1 에 도시된 각각의 컴포넌트 또는 모듈은 하드웨어 (예를 들어, 필드 프로그램가능 게이트 어레이 (FPGA) 디바이스, 주문형 집적 회로 (ASIC), DSP, 제어기 등), 소프트웨어 (예를 들어, 프로세서에 의해 실행가능한 명령들), 또는 이들의 임의의 조합을 사용하여 구현될 수도 있다.
도 2 및 도 3 을 참조하면, 오디오 프레임 (134) 의 예시적인 실시형태들이 나타나 있다. 오디오 프레임 (134) 은 인코딩된 LB 부분, 지정된 "LB 코어" 를 포함할 수도 있다. 인코딩된 LB 부분은 LB 선형 예측 필터 및 여기 정보를 포함할 수도 있다. 예를 들어, 인코딩된 저대역 부분은 LB 라인 스펙트럼 쌍 (LSP) 인덱스(들) 및 LB 여기 (201) 를 포함할 수도 있다. 대안의 실시형태들에서, 오디오 프레임의 LB 코어는 상이한 정보를 포함할 수도 있다. 오디오 프레임 (134) 은 또한 HB 파라미터들, 지정된 "HB 파라미터들" 을 포함할 수도 있다. HB 파라미터들은 인코딩된 LB 코어보다 적은 스페이스를 점유하고, 오디오 신호 코딩 모델에 따라, 디코더에 의해 사용될 수 있는 파라미터들의 세트를 포함하여, 오디오 프레임의 HB 부분을 재구성한다. 도 2 의 예에서, HB 파라미터들은 변환된 LB 여기 (202), HB 이득 형상 (203), HB 이득 프레임 (204), 및 HB LSP 인덱스(들)(205) 를 포함할 수도 있다. 대안의 실시형태들에서, 오디오 프레임은 상이한 HB 파라미터들을 포함할 수도 있다.
특정 실시형태에서, LB LSP 인덱스(들) 및 LB 여기 (201), 변환된 LB 여기 (202), HB 이득 형상 (203), HB 이득 프레임 (204), 및 HB LSP 인덱스(들)(205) 은 인코더 (예를 들어, 도 1 의 인코더 (116) 또는 도 5 를 참조하여 기재된 인코더 (500)) 에서 오디오 분석 동안 생성된다. 예를 들어, 오디오 신호는, 이 오디오 신호를 LB 신호 및 HB 신호로 분리하는 분석 필터 뱅크를 통해 통과될 수도 있다. LB 및 HB 신호들은 오버랩할 수도 있고 오버랩하지 않을 수도 있다. LB 신호는 LB 계수들 (LPC) 의 세트로서 LB 신호의 스펙트럼 포곡선 (spectral envelope) 을 인코딩하는 LP 분석 모듈로의 입력일 수도 있다. 변환 모듈은 LPC들을 LSP들로 변환할 수도 있으며, 이들은 대안으로 라인 스펙트럼 쌍들 (LSP) 로서 지칭될 수도 있다. 양자화기는 LSP들에 "가장 근접" 하는 LB LSP 코드북의 엔트리를 식별하는 것에 의해 LSP들을 양자화할 수도 있다. 양자화기는 201 에서 나타낸 LB LSP 인덱스(들) 로서 코드북에서 엔트리의 인덱스를 출력할 수도 있다. LB 분석 모듈은 또한 201 에서 나타낸 LB 여기 및 변환된 LB 여기 (202) 를 생성할 수도 있다. 예를 들어, LB 여기는 LB 분석 모듈에 의해 수행되는 LB 프로세스 동안 생성된 LP 잔차 신호를 양자화하는 것에 의해 생성되는 인코딩된 신호일 수도 있다. LP 잔차 신호는 예측 에러를 나타낼 수도 있다.
HB 분석 모듈은 분석 필터 뱅크로부터의 HB 신호 및 LB 분석 모듈로부터의 저대역 여기 신호를 수신할 수도 있다. HB 분석 모듈은 LB LSP 인덱스(들) 및 LB 여기 (201) 을 생성하기 위해 기재된 프로세스와 유사한 LPC 코딩, 변환 및 양자화 프로세스를 사용하여 HB LSP 인덱스(들)(205) 을 생성할 수도 있다. HB LSP 인덱스(들)(205) 은 LB LSP 인덱스(들) 보다 더 적은 비트들을 점유할 수도 있다. HB 분석 모듈은 또한 HB 이득 형상 (203) 및 HB 이득 프레임 (204) 을 생성할 수도 있다. HB 이득 형상 (203) 및 HB 이득 프레임 (204) 은 디코더 (예를 들어, 도 1 의 디코더 (126) 또는 도 6 을 참조하여 기재되는 디코더) 가 HB 이득 형상 및 프레임 이득을 조정하는 것을 가능하게 하여 보다 정확하게 HB 신호를 재생할 수도 있다.
리던던트 프레임 코딩 정보의 통신이 인에이블 될 때, 오디오 프레임 (134) 은 다른 오디오 프레임에 대한 LB 리던던트 코딩 정보 (214) 및 HB 리던던트 코딩 정보 (210) 를 더 포함한다. 오디오 프레임 (134) 은 또한 프레임 타입 표시자 (215) 를 포함할 수도 있다. 도 5 및 도 6 을 참조하여 더 기재되는 바와 같이, 예시적인 실시형태에서, 프레임 타입 표시자 (215) 는 다른 오디오 프레임의 프레임 타입을 표시하는 3 비트 표시자이고, 오디오 프레임 (134) 의 얼마나 많은 비트들이 LB 리던던트 코딩 정보 (214) 및 HB 리던던트 코딩 정보 (210) 에 할당되는지를 표시한다. 특정 실시형태에서, LB 리던던트 코딩 정보 (214) 또는 HB 리던던트 코딩 정보 (210) 는 선택적일 수도 있다. HB 리던던트 코딩 정보 (210) 는 도 2 에 나타낸 바와 같이, HB 이득 형상 표시자 (211), HB 이득 프레임 표시자 (212), 및 HB LSP 표시자 (213) 을 포함할 수도 있다. 대안의 실시형태에서, HB 코딩 정보 (210) 는 상이한 표시자 또는 표시자들의 조합을 포함할 수도 있다. 예를 들어, HB LSP 표시자 (213) 는 초광대역 통신을 위해 HB 리던던트 코딩 정보에 포함될 수도 있지만, 광대역 통신을 위해 생략될 수도 있다. 다른 예로서, HB 이득 형상 표시자 (211) 및/또는 HB 이득 프레임 표시자 (212) 는 프레임들의 소정 타입들에 대해 생략될 수도 있다.
특정 실시형태에서, HB 이득 형상 표시자 (211) 는 이전 오디오 프레임 (예를 들어, 프레임N (132)) 의 HB 이득 형상과 연관되는 단일 비트 표시자일 수도 있다. 인코더는 프레임N (132) 과 프레임N+2 (134) 사이의 상관 관계에 기초하여 HB 이득 형상 표시자 (211) 의 값을 설정할 수도 있다. 예를 들어, 프레임N (132) 및 프레임N+2 (134) 사이의 프레임간 공칭 HB 상관 관계는 다음의 식에 기초하여 추정될 수도 있다.
Figure 112016044033724-pct00001
식 중, XN(k) 는 N 번째 프레임에 대한 k 번째 이득 형상 값이다. 일 예에서, 하나 이상의 서브 프레임들의 롤링 윈도우는 프레임 마다 4 개의 이득 형상 값을 결정하기 위해 사용될 수도 있다 (예를 들어, k 가 1 부터 4 까지 변화한다). 상관 값이 임계 (예를 들어, 0.75) 보다 더 크면, 인코더는 HB 이득 형상 표시자 (211) 의 값을 제 1 값 (예를 들어, GS_bit=1) 으로 설정한다. HB 이득 형상 표시자 (211) 가 제 1 값을 가질 때, 디코더는 프레임N (132) 의 리던던트 프레임 디코딩/재구성 동안 프레임N (132) 의 추정된 HB 이득 형상으로서 프레임N+2 (134) 의 HB 이득 형상 (203) 을 재사용할 수도 있다. 상관 값이 임계 보다 더 작으면, 인코더는 HB 이득 형상 표시자 (211) 의 값을 제 2 값 (예를 들어, GS_bit=0) 으로 설정한다. HB 이득 형상 표시자 (211) 가 제 2 값을 가질 때, 디코더는 추정된 이득 형상으로서 일정한 이득 형상을 사용할 수도 있고, 또는 일부 다른 예측 방법(들) 을 수행하여 프레임N (132) 의 이득 형상을 추정할 수도 있다.
특정 실시형태에서, 인코더는 HB 이득 형상 상관 관계 대신 또는 이에 부가하여, 코드북 인덱스 거리에 기초하여 HB 이득 형상 표시자 (211) 의 값을 결정할 수도 있다. 예를 들어, 인코더는 HB 이득 형상 정보 (203) 를 양자화하기 위해 사용되는 HB 이득 형상 코드북을 유지하거나 이에 대한 액세스를 가질 수도 있다. 인코더는 프레임N (132) 의 HB 이득 형상과 연관된 제 1 코드북 인덱스 및 프레임N+2 (134) 의 HB 이득 형상과 연관된 제 2 코드북 인덱스를 결정할 수도 있다. 인코더는 코드북 인덱스들 사이의 거리 (예를 들어, 최소 평균 제곱 에러 거리) 에 기초하여 HB 이득 형상 표시자 (211)(예를 들어, GS_bit=1 또는 GS_bit=0) 의 값을 설정할 수도 있다.
HB 이득 프레임 표시자 (212) 는 단일 비트 표시자 또는 다중 비트 표시자일 수도 있다. 특정 실시형태에서, HB 이득 프레임 표시자 (212) 의 사이즈는 인코더에 의해 동적으로 조정된다. 예를 들어, 패킷 교환형 네트워크는, 음성 오디오 프레임들, 일반 오디오 프레임들, 트랜지션 오디오 프레임들, 및 무성 오디오 프레임들을 포함한, 오디오 프레임들의 다양한 타입들을 송신하기 위해 사용될 수도 있다. 음성/일반/트랜지션 프레임들 보다 무성 프레임들의 이득 프레임 양자화에 대해 더 넓은 동적 범위를 사용하는 것이 유용할 수도 있다. 더 조악한 이득 프레임 양자화가 음성/일반/트랜지션 프레임들에 대한 HB 대 LB 이득 비를 효과적으로 나타내기에 충분할 수도 있다. 따라서, 프레임N (132) 이 무성 프레임인 경우, 인코더는 HB 이득 프레임 표시자 (212) 에 비트들의 제 1 의 큰 개수 (예를 들어, 3 내지 6 비트) 를 할당할 수도 있다. 프레임N (132) 이 무성 프레임인 경우, 인코더는 HB 이득 프레임 표시자 (212) 에 비트들의 제 2 의 작은 개수 (예를 들어, 1 내지 2 비트) 를 할당할 수도 있다.
도 2 에 나타낸 예에서, HB 이득 프레임 표시자 (212) 에는 다수의 비트들 (예를 들어, 3-6 비트) 이 할당된다. 대조적으로, 도 3 은 HB 이득 프레임 표시자 (312) 에 도 2 의 HB 이득 프레임 표시자 (212) 보다 더 적은 수의 비트들 (예를 들어, 1-2 비트들) 이 할당되는 예를 도시한다. HB 이득 프레임 표시자 (312) 에 더 적은 수의 비트들이 할당되기 때문에, 도 2 의 LB 리던던트 코딩 정보 (214) 보다 더 큰, LB 리던던트 코딩 정보 (314) 를 나타내는데 사용하기 위해 여분의 비트들이 이용가능할 수도 있다. 대안으로, 여분의 비트들은 프레임N+2 (134) 의 HB 파라미터들 또는 LB 코어에 할당될 수도 있다. 도 2 및 도 3 에서, 비트 할당에서의 이러한 유연성은 3 개의 분할 라인들 (250, 260 및 270) 을 사용하여 도시된다. 제 1 분할 라인 (250) 은 리던던트 코딩 정보로부터 프라이머리 코딩 정보를 분리하고, 인코더가 프라이머리 코딩 비트들 대 리던던트 코딩 비트들의 비를 동적으로 조정함에 따라 좌우로 조정될 수도 있다. 제 2 분할 라인 (260) 은 프라이머리 코딩 정보 내의 LB 코어 및 HB 파라미터들을 분리하고, 인코더가 프라이머리 코딩 정보 내의 LB 코어 비트들 대 HB 파라미터 비트들의 비를 동적으로 조정함에 따라 상하로 조정될 수도 있다. 제 3 분할 라인 (270) 은 LB 리던던트 코딩 정보 및 HB 리던던트 코딩 정보를 분리하고, 인코더가 LB 리던던트 비트들의 것에 대한 HB 리던던트 비트들의 비를 동적으로 조정함에 따라 상하로 조정될 수도 있다.
특정 실시형태에서, 인코더는 프레임N (132) 및/또는 프레임N+2 (134) 의 프레임 타입 및/또는 "중요도" 에 기초하여 프레임의 4 개의 부분들의 각각에 할당된 비트들의 개수를 동적으로 조정 (예를 들어, 분할 라인들 (250, 260, 및/또는 270) 을 동적으로 "이동") 할 수도 있다. 예시를 위해서, 프레임의 4 개의 부분들 사이의 비트 할당들은 프레임에 대한 프라이머리 코딩 정보를 나타내기 위해 이용가능한 프레임의 더 적은 비트들을 갖는 것을 초래하는 오디오 저하 및 이전 프레임의 중요도를 밸런싱하는 것에 기초할 수도 있다 (리던던트 코딩 정보가 프레임에 포함될 것임). 소정 타입의 프레임의 디코딩 불능은 다른 타입의 프레임의 디코딩 불능 보다 청취자에게 더 분명할 수도 있다. 따라서, 오디오 신호의 소정 프레임들은 다른 프레임들 보다 더 "중요" 한 것으로 고려될 수도 있다. 예를 들어, 오디오 스트림의 제 1 프레임은, 제 1 프레임의 에러성 디코딩이 제 2 프레임의 에러성 디코딩보다 더 쉽게 분명한 디코딩 아티팩트들을 야기할 때, 오디오 스트림의 제 2 프레임 보다 더 높은 "중요도" 를 가질 수도 있다. 중요하지 않은 프레임에 대한 리던던트 코딩 정보에 할당되는 것 보다 중요한 프레임에 대한 리던던트 코딩 정보에 더 많은 비트들이 할당될 수도 있다. 대안으로 또는 부가적으로, 중요하지 않은 프레임에 할당되는 것 보다 리던던트 코딩 정보에 중요한 프레임의 더 적은 비트들이 할당될 수도 있다.
예를 들어, 스피치 프레임들은 "모든 예측", "노이즈 여기 선형 예측 (NELP)", "일반" 그리고 "비예측" 프레임 타입들로 분류될 수도 있다. 모든 예측 프레임들은 음성 스피치에 대응할 수도 있고 스피치 기반 통신에 대응하는 오디오 신호에서의 활성 프레임들의 50% 이상을 구성할 수도 있다. NELP 프레임들은 무성 데이터에 대응할 수도 있고 프레임들의 10%-20% 를 구성할 수도 있다. 프레임들의 나머지 30-40% 는 일반 프레임들 또는 비예측 프레임들일 수도 있다. 일반 프레임들은, 코드북 인덱스들과 같은, 적응형 코드북 (ACB) 정보 및 고정형 코드북 (FCB) 정보의 양자를 포함하는 혼합 모드 프레임들일 수도 있다. 비예측 프레임들은 오디오 트랜지션들에 대응할 수도 있고 FCB 정보를 포함할 수도 있다. 일반 및 비예측 프레임들은 모든 예측 및 NELP 프레임들보다 더 "자족 (self-contained)" 적일 수도 있다. 따라서, 일반 또는 비예측 프레임이 오류가 생기거나 수신되지 않는 경우, 디코더는 프레임을 생성하기 위해 다른 프레임들에 덜 의존하는 것이 가능할 수도 있다. 결과적으로, 일반 및 비예측 프레임들은 그 특정 프레임에 대하여 더 중요한 것으로 고려될 수도 있는 반면, 모든 예측 및 NELP 프레임들은 덜 중요한 것으로 고려될 수도 있다 (모든 예측 및 NELP 프레임들에 대한 영향은 향후 프레임에 대해 상이할 수도 있다).
도 2 의 예에서, 프레임N+2 (134) 는 프레임N (132) 에 대한 리던던트 코딩 정보를 포함한다. 프레임N (132) 가 중요한 것으로 고려되는 경우, 부가 비트들이 리던던트 코딩 정보에 할당될 수도 있다 (예를 들어, 제 1 분할 라인 (250) 이 좌측으로 조정될 수도 있다). 프레임N+2 (134) 가 중요한 것으로 고려되는 경우, 더 적은 비트들이 리던던트 코딩 정보에 할당될 수도 있어서 (예를 들어, 제 1 분할 라인 (250) 이 우측으로 조정될 수도 있다), 프레임N+2 (134) 의 품질 저하가 감소될 수도 있다. 따라서, 프레임N+2 (134) 가 중요한 것으로 고려되고 프레임N (132) 가 중요한 것으로 고려되지 않는 실시형태들에서, 더 적거나 0 의 비트들이 리던던트 코딩 정보에 대해 할당될 수도 있다. 대조적으로, 프레임N+2 (134) 가 중요한 것으로 고려되지 않고 프레임N (132) 가 중요한 것으로 고려되는 실시형태들에서, 다수의 비트들이 리던던트 코딩 정보에 대해 할당될 수도 있다. 따라서, HB 파라미터들, LB 코어, LB 리던던트 코딩 정보 및/또는 HB 리던던트 코딩 정보에 할당된 비트들의 개수는 프레임N (132) 의 프레임 타입 및/또는 프레임N+2 (134) 의 프레임 타입에 기초하여 결정될 수도 있다.
특정 실시형태에서, HB 이득 프레임 표시자 (212) 에 비트들의 제 1 개수 (예를 들어, 3-6 비트) 가 할당될 때, 비트들의 제 1 개수는 코드북 인덱스를 나타내기 위해 사용된다. HB 이득 프레임 표시자 (212) 에 비트들의 제 2 개수 (예를 들어, 1 비트) 가 할당될 때, 비트들의 제 2 개수는 코드북의 어느 절반이 프레임N (132) 의 HB 이득 프레임에 대응하는지를 표시하기 위해 사용된다.
일 예로서, 도 4 를 참조하면, 오디오 프레임 (131-134) 은 HB 이득 프레임 값들 (1.6, 3.6, 1.6, 및 1.0) 을 각각 가질 수도 있고, HB 이득 프레임 코드북은 8 개의 인덱스들을 포함할 수도 있다. 프레임N (132) 가 무성 프레임인 경우, HB 이득 프레임 표시자 (212) 는 값 "100" 으로 설정되는 3 비트가 할당될 수도 있으며, 즉 값 "100" 은 3.6 의 HB 이득 프레임 값에 대응하는 코드북 인덱스 4 의 이진 표현이다. 그렇지 않으면, HB 이득 프레임 표시자 (212) 는 3.6 의 HB 이득 프레임 값이 코드북의 제 1 부분 (예를 들어, 인덱스들 4-7 에 대응하는 상위 절반) 에 있는 것을 표시하는 "1" 로 설정되는 1 비트가 할당된다. HB 이득 프레임 값이 코드북의 제 2 부분 (예를 들어, 인덱스들 0-3 에 대응하는 하위 절반) 에 있었던 경우, 값이 "0" 으로 설정되었을 것이다. 디코더는 프레임N 에 대한 HB 이득 프레임 값이 프레임N 에 대한 HB 이득 프레임 값을 추정하기 위해 코드북의 상위 절반에 있다는 정보에 따라 이전 프레임 (예를 들어, 프레임N-1) 을 위해 HB 이득 프레임 값을 사용할 수도 있다.
이로써, 특정 실시형태에서, HB 이득 프레임 표시자 (212) 는 다음의 C-스타일 의사 코드에 따라 인코더에 의해 할당되고 설정될 수도 있다:
Figure 112016044033724-pct00002
Figure 112016044033724-pct00003
HB LSP 표시자 (213) 는 수신기가 프레임N (132) 의 HB LSP들을 도출하는 방법을 알리는 단일 비트 표시자일 수도 있다. HB LSP 표시자 (213) 의 값을 결정하기 위해서, 인코더는 프레임N (132) 과 프레임N+2 (134) 사이의 스펙트럼 왜곡 메트릭을 사용하여 프레임간 HB LSP 변동을 추정할 수도 있다. 대안으로 또는 부가적으로, 오디오 프레임들의 HB LSP 인덱스(들) 사이의 코드북 인덱스 거리가 사용될 수도 있다. 프레임N 과 프레임N+2 사이의 스펙트럼 변동이 특정 임계 (예를 들어, 2 데시벨 (dB)) 미만일 때, 인코더는 HB LSP 표시자 (213) 를 제 1 값 (예를 들어, HBLSP_bit=0) 으로 설정할 수도 있다. HB LSP 표시자 (213) 가 제 1 값을 가질 때, 디코더는 프레임N 의 추정된 HB LSP 인덱스(들) 로서 프레임N+2 의 HB LSP 인덱스(들)(205) 을 사용할 수도 있다. 스펙트럼 변동이 특정 임계 (예를 들어, 2 dB) 이상일 때, 인코더는 HB LSP 표시자 (213) 을 제 2 값 (예를 들어, HBLSP_bit=1) 으로 설정할 수도 있다. HB LSP 표시자 (213) 가 제 2 값을 가질 때, 디코더는 보간 또는 외삽에 의해 프레임N 에 대한 HB LSP 인덱스(들) 을 도출할 수도 있다. 예를 들어, 스펙트럼 변동이 임계 범위 내에 있는 경우 (예를 들어, 2 dB < 변동 < 4 dB), 디코더는 프레임N-1 부터 프레임N+2 까지 HB LSP들을 보간하는 것에 의해 프레임N 에 대한 HB LSP 인덱스(들)을 도출할 수도 있다. 스펙트럼 변동이 임계 범위 외부에 있는 경우 (예를 들어, >= 4 dB), 디코더는 이전 프레임들 (예를 들어, 프레임N-1 및 프레임N-2) 로부터 외삽하는 것에 의해 프레임N 에 대한 HB LSP 인덱스(들)을 도출할 수도 있다.
대안의 실시형태에서, HB LSP 표시자 (213) 의 값을 설정하기 위해서, 인코더는 프레임N 과 프레임N+2 의 HB LSP들 사이의 차이 (예를 들어, 델타) 를 결정할 수도 있다. 인코더는 이 차이에 기초하여 HB LSP 표시자 (213) 의 값을 설정할 수도 있고, 디코더는 프레임N+2 의 HB LSP들로부터 프레임N 의 HB LSP들을 도출하기 위해 HB LSP 표시자 (213) 의 값을 사용할 수도 있다. 대안의 실시형태에서, HB LSP 표시자 (123) 는 리던던트 코딩 정보에 포함되지 않는다.
이로써, 도 2 내지 도 4 를 참조하여 기재된 바와 같이, 인코더는 HB 리던던트 코딩 정보 (210) 에 의해 얼마나 많은 스페이스가 점유되는지를 동적으로 조정할 수도 있고, HB 리던던트 코딩 정보 (210) 의 값들을 설정하여 디코더가 분실된 프레임 (또는 그 일부) 을 재구성하는 것을 가능하게 할 수도 있다.
도 5 를 참조하면, 인코더 (500) 의 특정 실시형태가 나타나 있다. 대안의 실시형태에서, 인코더 (500) 는 도 1 의 인코더 (116) 에 대응한다. 인코더 (500) 는 병렬로 동작하는 2 개의 인코딩 경로들: 프라이머리 인코딩 경로 (510) 및 리던던트 (대안으로 "부분 복제" 로서 지칭됨) 인코딩 경로 (520) 을 포함한다. 인코딩 경로들 (510, 520) 는 프레이머(framer)(또는 비트 멀티플렉서)(540) 에 커플링된다. 도 5 에서, 인코딩 경로들 (510, 520) 은 공유 메모리 (530) 를 통해 통신하도록 구성된다. 공유 메모리 (530) 는 캐시 기반 메모리, 레지스터 기반 메모리, 또는 프로세서 (예를 들어, DSP) 의 다른 메모리에 대응할 수도 있다. 대안의 실시형태들에서, 인코딩 경로들 (510, 520) 은 다른 메커니즘을 사용하여 통신할 수도 있다.
동작 동안, 인코딩될 각각의 오디오 프레임에 대한 프레임 데이터는 프라이머리 인코딩 경로 (510) 및 리던던트 인코딩 경로 (520) 의 양자 모두에 제공될 수도 있다. 예를 들어, 도 5 는 프레임N-2 (551), 프레임N (132), 프레임N+2 (134), 및 프레임N+4 (554) 에 대한 프레임 데이터 (501, 502, 503 및 504) 가 각각 양자의 인코딩 경로들 (510, 520) 에 제공되는 것을 도시한다. 개재 프레임들 (예를 들어, 프레임N-1 (131), 프레임N+1 (133) 및 프레임N+3) 에 대한 프레임 데이터는 도시를 용이하기 하게 위해 나타내지 않는다. 프라이머리 인코딩 경로 (510) 는 오디오 프레임들에 대한 프라이머리 코딩 정보를 생성할 수도 있고 리던던트 인코딩 경로 (520) 는 오디오 프레임들에 대한 리던던트 정보를 생성할 수도 있다. 비트 멀티플렉서 또는 프레이머 (540) 는 인코딩된 오디오 프레임들을 생성하기 위해 인코딩 경로들 (510, 520) 로부터 수신된 비트들을 결부시킬 수도 있다. 도 5 의 예에서, 프레이머 (540) 는 프레임N-2 (551), 프레임N (132), 프레임N+2 (134), 및 프레임N+4 (554) 를 생성하며, 이들의 각각은 목적지 디바이스로의 통신을 위해 패킷화 및 전송 시스템에 제공된다.
프라이머리 코딩 경로 (510) 에 의해 수행되는 인코딩 동작들은 리던던트 코딩 경로 (520) 에 의해 수행되는 인코딩 동작들에 의존할 수도 있으며, 그 역 또한 마찬가지이다. 예시를 위해서, 인코더 (500) 는 13.2 kpbs 의 비트레이트로 오디오 프레임들을 인코딩할 수도 있으며, 각각의 프레임은 264 비트를 포함할 수도 있다 (대안의 실시형태들에서, 비트들의 상이한 비트 레이트 및 상이한 개수가 사용될 수도 있다). 프라이머리 인코딩 경로 (510) 는 이전 프레임에 대한 리던던트 코딩 정보를 인코딩하기 위해 얼마나 많은 비트들이 리던던트 인코딩 경로 (520) 에 사용되는지에 기초하여 프레임의 프라이머리 코딩 정보 (예를 들어, LB 코더 및 HB 파라미터들) 를 인코딩하기 위해 264 비트들 중 얼마나 많은 비트들이 이용가능한지를 결정할 수도 있다. 리던던트 인코딩 경로 (520) 는 프레임의 프라이머리 인코딩 동안 프라이머리 인코딩 경로 (510) 에 의해 결정된 파라미터들에 기초하여 프레임에 대한 리던던트 코딩 정보를 인코딩할 수도 있다. 따라서, 도 5 의 공유 메모리 (530) 를 사용하여 나타낸 바와 같이, 프라이머리 인코딩 경로 (510) 는 LB/HB 파라미터들을 리던던트 인코딩 경로 (520) 에 통신할 수도 있고, 리던던트 인코딩 경로 (520) 는 프레임의 리던던트 인코딩을 수행하기 위해 사용된 비트들의 개수를 프라이머리 인코딩 경로 (510) 에 통신할 수도 있다.
프라이머리 인코딩 경로 (510) 가 프레임N-2 (551) 에 대한 프레임 데이터 (501) 를 수신할 때, 프라이머리 인코딩 경로 (510) 는 프레임N-4 (미도시) 의 리던던트 인코딩을 수행하기 위해 얼마나 많은 비트들이 리던던트 인코딩 경로 (520) 에 사용되었는지를 결정할 수도 있다. 도 5 의 예에서, 리던던트 인코딩은 프레임N-4 에 대해 수행되지 않았다. 따라서, 프라이머리 인코딩 경로 (510) 는 모든 264 개의 가용 비트들을 프레임 데이터 (501) 로부터 생성된 프라이머리 코딩 정보에 할당할 수도 있고, 프레임N-2 (551) 는 프라이머리 인코딩 경로 (510) 로부터 수신된 264 개의 인코딩된 비트들을 포함할 수도 있다. 예시를 위해서, 도 2 및 도 3 을 참조하여 기재된 바와 같이, 264 비트는 대안들 중에서도 LSP 인덱스들, ACB 정보, FCB 정보, 여기 정보, 변환 여기 정보, 이득 형상 정보, 및/또는 이득 프레임 정보를 포함할 수도 있다. 프레임 데이터 (501) 에 대한 프라이머리 인코딩 경로 (510) 에 의해 수행된 동작들과 병행하여, 리던던트 인코딩 경로 (520) 는 프레임N-2 (551) 의 리던던트 인코딩을 위해 얼마나 많은 비트들을 사용할지를 결정할 수도 있다. 도 5 의 예에서, 프레임N-2 (551) 의 리던던트 인코딩은 수행되지 않는다 (예를 들어, 프레임N-2 (551) 는 "중요하지 않다" 고 결정된다). 예시적인 실시형태에서, 리던던트 인코딩 경로 (520) 는 프레임의 프레임 타입들에 기초하여 프레임의 리던던트 인코딩을 위해 얼마나 많은 비트들을 사용할지를 결정한다. 예를 들어, 41 비트가 NELP 프레임의 리던던트 인코딩을 위해 사용될 수도 있고, 58 비트가 모든 예측 프레임의 리던던트 코딩을 위해 사용될 수도 있으며, 72 비트가 일반 프레임의 리던던트 코딩을 위해 사용될 수도 있다 (대안의 실시형태들에서, 비트들의 상이한 수가 다양한 프레임 타입들을 위해 사용될 수도 있다). 41 비트가 사용될 때, 58 비트가 사용될 때, 72 비트가 사용될 때 등을 나타내는 특정 LB/HB 리던던트 프레임 정보는 산업 표준 (예를 들어, 제 3 세대 파트너쉽 프로젝트 (3GPP) EVS 표준) 에서 특정될 수도 있다.
프라이머리 인코딩 경로 (510) 가 프레임N (132) 에 대한 프레임 데이터 (502) 를 수신할 때, 프라이머리 인코딩 경로 (510) 는 프레임N-2 (551) 의 리던던트 인코딩을 수행하기 위해 얼마나 많은 비트들이 리던던트 인코딩 경로 (520) 에 사용되는지를 결정할 수도 있다. 리던던트 인코딩은 프레임N-2 (551) 에 대해 수행되지 않았기 때문에, 프라이머리 인코딩 경로 (510) 는 프레임 데이터 (502) 로부터 도출된 HB 파라미터들 및 LB 코어를 나타내기 위해 모든 264 개의 가용 비트들을 사용할 수도 있고, 프레이머 (540) 에 의해 출력된 프레임N (132) 은 프라이머리 인코딩 경로 (510) 으로부터 수신된 264 개의 인코딩된 비트들을 포함할 수도 있다. 리던던트 인코딩 경로 (520) 는 프레임N (132) 에 대한 리던던트 인코딩을 수행하기 위해 41 비트를 사용할 수도 있다 (예를 들어, 프레임N (132) 는 NELP 프레임일 수도 있다). 특히, 41 비트는 프레임N (132) 에 대한 프라이머리 인코딩 동안 프라이머리 인코딩 경로 (510) 에 의해 결정되는 "중요한" LB/HB 파라미터들을 나타내기 위해 사용될 수도 있다. 예시를 위해서, 도 2 및 도 3 을 참조하여 기재된 바와 같이, 리던던트 코딩 정보는 대안들 중에서도 이득 형상 정보, 이득 프레임 정보, 및/또는 LSB 정보를 포함할 수도 있다. 프레임N (132) 에 대한 41 비트 리던던트 코딩은 후속 사용을 위해 (예를 들어, 공유 메모리 (530) 에) 저장될 수도 있다.
프라이머리 인코딩 경로 (510) 가 프레임N+2 (134) 에 대한 프레임 데이터 (503) 을 수신할 때, 프라이머리 인코딩 경로 (510) 은 41 비트가 프레임N (132) 의 리던던트 인코딩을 위해 사용되었다는 것을 (예를 들어, 공유 메모리 (530) 에 저장된 데이터에 기초하여) 결정할 수도 있다. 이로써, 프라이머리 인코딩 경로 (510) 는 프레임N+2 (134) 에 대한 LB 코어 및 HB 파라미터를 인코딩하기 위해 264-41=223 을 사용할 수도 있다. 리던던트 인코딩 경로 (520) 는 프레임N+2 (134) 에 대한 리던던트 인코딩을 수행하기 위해 72 비트를 사용하기로 결정할 수도 있다 (예를 들어, 프레임N+2 (134) 는 일반 프레임일 수도 있다). 프라이머리 인코딩 경로 (510) 에 의해 결정되는 프레임N+2 (134) 에 대해 선택된 파라미터들을 나타낼 수도 있는 프레임N+2 (134) 에 대한 72 비트 리던던트 코딩은, 후속 사용을 위해 저장될 수도 있다. 프레이머 (540) 는, 나타낸 바와 같이, 프레임N+2 (134) 를 생성하기 위해 프레임N (132) 에 대해 이전에 저장된 41 비트 리던던트 코딩과 프라이머리 인코딩 경로 (510) 로부터 수신된 223 비트 프라이머리 인코딩을 결부시킬 수도 있다.
프라이머리 인코딩 경로 (510) 가 프레임N+4 (554) 에 대한 프레임 데이터 (504) 를 수신할 때, 프라이머리 인코딩 경로 (510) 는 프레임N+2 (134) 의 리던던트 인코딩을 위해 72 비트가 사용되었다는 것을 결정할 수도 있다. 이로써, 프라이머리 인코딩 경로 (510) 는 프레임N+4 (554) 에 대한 LB 코어 및 HB 파라미터를 인코딩하기 위해 264-72=192 비트를 사용할 수도 있다. 병행하여, 리던던트 인코딩 경로 (520) 는 프레임N+4 (554) 에 대한 리던던트 인코딩을 수행할 수도 있다. 프레이머 (540) 는, 나타낸 바와 같이, 프레임N+4 (554) 를 생성하기 위해 프레임N+2 (134) 에 대해 이전에 저장된 72 비트 리던던트 코딩과 프라이머리 인코딩 경로 (510) 으로부터 수신된 192 비트 프라이머리 인코딩을 결부시킬 수도 있다.
특정 실시형태에서, 인코딩된 프레임의 마지막 3 비트는 프레임에 포함된 리던던트 코딩 데이터에 대한 프레임 타입 표시자를 나타낸다. 예를 들어, 프레임N-2 (551) 및 인코딩된 프레임N (132) 이 다른 프레임에 대한 임의의 리던던트 코딩 정보를 포함하지 않기 때문에, 프레임N-2 (551) 및 프레임N (132) 의 마지막 3 비트는 제 1 값 (예를 들어, 000) 을 가질 수도 있다. 프레임N+2 (134) 는 리던던트 코딩 정보의 41 비트를 포함하고 프레임N (132) 는 NELP 프레임이기 때문에, 프레임N+2 (134) 의 마지막 3 비트는 제 2 값 (예를 들어, 001 또는 다른 고유 3 비트 값) 을 가질 수도 있다. 프레임N+4 (554) 는 리던던트 코딩 정보의 72 비트를 포함하고 프레임N+2 (134) 는 일반 프레임이기 때문에, 프레임N+4 (554) 의 마지막 3 비트는 제 3 값 (예를 들어, 010 또는 다른 고유 3 비트 값) 을 가질 수도 있다. 3 비트 프레임 타입 표시자의 부가적인 값들은 다른 프레임 타입들을 표시하기 위해 그리고 다른 정보 (예를 들어, 주파수 도메인 부분 복제들) 를 시그널링하기 위해 사용될 수도 있다. 이로써, 기재된 예에서, 각각의 프레임의 마지막 3 비트는 이전 프레임의 프레임 타입 및 이전 프레임에 대한 리던던트 코딩 정보 중 얼마나 많은 비트들이 프레임에 포함되는지를 표시한다. 따라서, 264 비트로부터의 261 비트가 프라이머리 코딩 경로 (510) 과 리던던트 인코딩 경로 (520) 사이에서 공유될 수도 있고, 나머지 3 비트는 리던던트 프레임 타입 표시자를 위해 예약될 수도 있다.
인코딩된 오디오 프레임들은 소스 디바이스 (예를 들어, 도 1 의 제 1 컴퓨팅 디바이스 (110) 에 의해 목적지 디바이스 (예를 들어, 도 1 의 제 2 컴퓨팅 디바이스 (120) 로 송신될 수도 있으며, 이는 수신된 오디오 프레임들을 디코딩할 수도 있다. 예를 들어, 도 6 은 수신된 오디오 프레임들을 디코딩하도록 동작가능한 디코더 (600) 의 특정 실시형태를 도시한다. 디코더 (600) 는 도 1 의 디코더 (126) 에 대응할 수도 있다. 디코더 (600) 는 디-지터 버퍼 (610)(예를 들어, 도 1 의 디-지터 버퍼 (129) 에 대응함) 를 포함한다. 인코더 (500) 가 병렬 인코딩 경로들 (510-520) 을 포함하는데 반해, 디코더 (600) 는 단일 디코딩 경로 (620) 를 포함한다.
오디오 프레임들이 수신기에 의해 수신될 때, 오디오 프레임들은 디-지터 버퍼 (610) 에 저장될 수도 있다. 도 1 을 참조하여 기재된 바와 같이, 네트워크 조건들로 인하여, 소스 디바이스에 의해 목적지 디바이스로 전송된 프레임들은 비순차적으로 도착할 수도 있거나, 오류가 생길 수도 있거나, 또는 전혀 도착하지 않을 수도 있다. 디코딩 경로 (620) 는 프레임 시퀀스에 따라 (예를 들어, 오디오 프레임들에 포함된 프레임 시퀀스 개수들 또는 다른 시퀀싱 정보에 기초하여) 디-지터 버퍼 (610) 로부터 프레임들을 취출할 수도 있다. 예를 들어, 디코딩 경로 (620) 는 프레임N (132) 이전의 프레임N-2 (551), 프레임N+2 (134) 이전의 프레임N (132), 그리고 프레임N+4 (554) 이전의 프레임N+2 (134) 를 취출하고 디코딩하려고 시도할 수도 있다. 도시를 용이하게 하기 위해, 개재 프레임들 (예를 들어, 프레임N-1 (131), 프레임N+1 (133) 및 프레임N+3 ) 은 도 6 에 나타내지 않는다.
프레임N-2 (551) 의 디코딩을 개시하기 위해서, 디코딩 경로 (620) 는 프레임N-2 (551) 이 디-지터 버퍼 (610) 에서 이용가능한지 여부를 체크할 수도 있다. 도 6 의 예에서, 프레임N-2 (551) 는 디-지터 버퍼 (610) 에서 이용가능하다. 디코딩 경로 (620) 는 다른 프레임의 리던던트 코딩 정보를 위해 프레임N-2 (551) 의 얼마나 많은 비트들이 사용되고 있는지를 결정할 수도 있다. 예를 들어, 값 000 (도 5 를 참조하여 기재된 바와 같음) 을 갖는 프레임N-2 (134) 의 마지막 3 비트에 기초하여, 디코딩 경로 (620) 는 프레임N-2 (134) 의 비트들이 리던던트 프레임 정보를 나타내지 않는다고 결정할 수도 있다. 따라서, 디코딩 경로 (620) 는 651 에서 나타낸 바와 같이, 프레임N-2 (551) 의 모든 261 비트들을 취출할 수도 있고, 디코딩된 데이터 (601) 를 생성할 수도 있다. 디코딩된 데이터 (601) 는 플레이백을 위해 출력 디바이스 (예를 들어, 스피커) 에 제공될 수도 있다. 인코더 (500) 에서 수행된 인코딩의 품질 및 디코더 (600) 에서 수행된 디코딩의 품질에 의존하여, 데이터 (601) 는 도 5 의 데이터 (501) 와 동일하거나 이의 근사치일 수도 있다는 것을 알 것이다. 261 개의 프라이머리 비트에 기초한 프레임N-2 (551) 의 디코딩 동안, 특정 디코딩 파라미터들의 값들은 후속 프레임의 디코딩 동안 사용하기 위해 프라이머리 디코딩 메모리 (622) 에 저장될 수도 있다.
도 6 의 예에서, 프레임N (132) 는 디-지터 버퍼 (610) 에서 이용가능하지 않다. 대안으로, 디코딩 경로 (620) 는 프레임N (132) 이 디-지터 버퍼 (610) 에서 이용가능하다고 결정할 수도 있지만, 프레임N (132) 의 프라이머리 비트들의 디코딩 동안 에러가 발생할 수도 있다. 어떠한 경우에도, 디코딩 경로 (620) 는 프레임N (132) 에 대한 리던던트 프레임 정보가 디-지터 버퍼 (610) 에서 이용가능한지 여부를 체크할 수도 있다. 예를 들어, 프라이머리 코딩 정보와 리던던트 코딩 정보 사이의 2 개의 프레임들의 알려진 오프셋 (다른 오프셋들, 예를 들어 3 또는 5 또는 7 이 다른 실시형태들에서 사용될 수도 있음) 에 기초하여, 디코딩 경로 (620) 는 프레임N+2 (134) 가 디-지터 버퍼 (610) 에서 이용가능한지 여부를 체크할 수도 있다. 프레임N+2 (134) 가 또한 이용가능하지 않은 경우, 디코딩 경로 (620) 는 프레임N (132) 에 대한 디코딩된 데이터 (602) 를 생성하기 위해 에러 은닉 절차를 개시할 수도 있다. 하지만, 도 6 의 예에서, 프레임N+2 (134) 는 디-지터 버퍼 (610) 에서 이용가능하다. 값 001 (도 5 를 참조하여 기재된 바와 같음) 을 갖는 프레임N+2 (134) 의 마지막 3 비트에 기초하여, 디코딩 경로 (620) 는 프레임N+2 (134) 의 41 비트가 프레임N (132) 에 대한 리던던트 코딩 정보를 나타낸다고 결정할 수도 있다. 디코딩 경로 (620) 는 652 에서 나타낸 바와 같이, 프레임N (132) 에 대한 41 리던던트 코딩 비트를 취출할 수도 있고, 데이터 (602) 를 생성할 수도 있다. 따라서, 디코딩 경로 (620) 는 얼마나 많은 리던던트 코딩 비트가 이용가능한지를 결정하고 결정된 개수에 기초하여 리던던트 코딩 비트를 취출할 수도 있다 (예를 들어, X 개의 리던던트 코딩 비트들이 이용가능할 때, 디코딩 경로 (620) 는 OFFSET 에 의해 결정된 패킷 시퀀스 수와 연관된 디-지터 버퍼 (610) 에 저장되는 프레임 또는 패킷의 마지막 X 비트를 취출할 수도 있다). 도 6 에서, 리던던트 프레임 정보로부터 생성된 디코딩된 데이터 (예를 들어, 데이터 (602)) 는 해칭 패턴을 사용하여 나타낸다. 리던던트 코딩 정보의 41 비트에 기초한 프레임N (132) 의 디코딩 동안, 소정 파라미터들의 값들이 후속 사용을 위해 리던던트 디코딩 메모리 (624) 에 저장될 수도 있다. 대안의 실시형태에서, 리던던트 디코딩 메모리 (624) 및 프라이머리 디코딩 메모리 (622) 는 오버랩할 수도 있고 또는 동일할 수도 있다.
따라서, 디코딩 경로 (620) 는 프라이머리 비트들에 기초한 디코딩 및 리던던트 비트들에 기초한 디코딩을 위해 별도의 메모리들을 유지할 수도 있다. 특정 실시형태에서, 프라이머리 디코딩 메모리 (622) 에서의 데이터는 다른 프라이머리 비트들의 디코딩 동안 사용될 수도 있지만 리던던트 비트들의 디코딩 동안 사용되지 않을 수도 있다. 유사하게, 리던던트 디코딩 메모리 (624) 로부터의 데이터는 리던던트 비트들의 디코딩 동안 사용될 수도 있지만, 프라이머리 비트들의 디코딩 동안 사용되지 않을 수도 있다. 대안의 실시형태에서, 프라이머리 디코딩 메모리 (622) 로부터의 데이터는 리던던트 비트들의 디코딩 동안 사용될 수도 있고, 및/또는 리던던트 디코딩 메모리 (624) 로부터의 데이터는 프라이머리 비트들의 디코딩 동안 사용될 수도 있다. 예를 들어, 다중의 이전에 디코딩된 프레임들로부터의 파라미터들은 "현재" 프레임에 대한 파라미터의 보간 및/또는 예측 동안 사용될 수도 있다.
디코딩 경로 (620) 는, 프레임N-2 (551) 에 대해 기재된 바와 같이, 디-지터 버퍼 (610) 에서 이용가능한, 프레임N+2 (134) 및 프레임N+4 (554) 를 디코딩할 수도 있다. 값 001 (도 5 를 참조하여 기재된 바와 같음) 을 갖는 프레임N+2 (134) 의 마지막 3 비트에 기초하여, 디코딩 경로 (620) 는 653 에서 나타낸 바와 같이, 프레임N+2 (134) 의 264-41=223 프라이머리 비트들을 추출하여, 디코딩된 데이터 (603) 를 생성할 수도 있다. 값 010 (도 5 를 참조하여 기재된 바와 같음) 을 갖는 프레임N+4 (554) 의 마지막 3 비트에 기초하여, 디코딩 경로 (620) 는 653 에서 나타낸 바와 같이, 프레임N+2 (134) 의 264-72=192 프라이머리 비트들을 취출하여, 디코딩된 데이터 (604) 를 생성할 수도 있다.
디코더 (600) 는 또한, "클린 채널" 조건들에서 디코딩 동작들을 수행할 때, 부분 복제 프레임 타입 표시자를 사용할 수도 있다는 것을 알아야 한다. 예를 들어, 프레임N (132) 가 디-지터 버퍼 (610) 에서 수신될 때, 프레임 소거 조건은 프레임N (132) 에 대해 존재하지 않을 수도 있다. 그럼에도 불구하고, 디코더 (600) 는 프레임N+2 (134) 의 얼마나 많은 비트들이 프라이머리 코딩 비트들인지 그리고 프레임N+2 (134) 의 얼마나 많은 비트들이 프레임N (132) 에 대한 부분 복제 비트인지를 결정하기 위해 프레임 타입 표시자를 평가할 수도 있다. 디코딩 경로 (620) 는 프라이머리 코딩 비트에 기초하여 프레임N+2 (134) 을 디코딩할 수도 있다. 프레임N (132) 에 대한 부분 복제 비트는 폐기될 수도 있는데, 이는 프레임N (132) 이 프레임N+2 (134) 의 디코딩 전에 성공적으로 수신되고 디코딩되었을 수도 있기 때문이다. 따라서, 리던던트 프레임 정보는 노이즈 채널 조건들에서 (이 조건들 동안 프레임이 드롭되고 재구성될 수도 있음) 뿐만 아니라 클린 채널 조건들에서 디코더 (600) 에 의해 프로세싱될 수도 있다.
설명을 용이하기 하게 위해, 도 5 의 인코딩 경로들 (510, 520) 및 도 6 의 디코딩 경로 (620) 는 블록 컴포넌트들로서 도시된다는 것을 알아야 한다. 하지만, 프라이머리 인코딩 경로 (510), 리던던트 인코딩 경로 (520), 및/또는 디코딩 경로 (620) 는 도 1 내지 도 4 를 참조하여 기재된 인코딩 및/또는 디코딩 동작들을 수행하기 위해 동작가능한 서브 컴포넌트들을 포함할 수도 있다는 것을 이해해야 한다. 예를 들어, 경로들 (510, 520 또는 620) 중 하나 이상은 분석 필터 뱅크, LP 분석 모듈, 변환 모듈, 양자화기, HB 분석 모듈, ACB들, FCB들 등을 포함할 수도 있다. 특정 실시형태들에서, 인코딩 경로들 (510-520) 중 하나 또는 양자 모두는 (예를 들어, 인코더 (500) 의 "로컬 디코더로서) 디코딩 경로 (620) 에 또한 포함되는 디코딩 컴포넌트들을 포함할 수도 있다.
따라서, 도 5 및 도 6 은 리던던트 프레임 정보를 인코딩하고 디코딩하기 위해 사용될 수도 있는 인코더 (500) 및 디코더 (600) 의 예들을 도시한다. 후속 프레임에 있어서 프레임에 대한 리던던트 코딩 비트들의 통신은 불리한 네트워크 조건들의 존재 시 목적지 디바이스에서 오디오 재구성 (예를 들어, 합성) 을 개선할 수도 있다. 예를 들어, 리던던트 인코딩 비트들은, 목적지 디바이스에서 프레임이 수신되지 않을 때 프레임을 재구성하기 위해 사용될 수도 있다. 다른 예로서, 프레임에 대한 프라이머리 비트들을 디코딩하는 동안 에러가 발생할 때, 프레임에 대한 리던던트 인코딩 비트들이 다른 프레임으로부터 취출될 수도 있고, 프라이머리 비트들 대신 또는 이들과 함께 사용될 수도 있다.
도 7 및 도 8 을 참조하면, 후속 프레임에 포함된 리던던트 코딩 정보에 기초하여 프레임을 디코딩하는 방법의 특정 실시형태의 플로우챠트가 나타나 있으며 일반적으로 700 으로 지정된다. 예시적인 실시형태에서, 방법 (700) 은 목적지 디바이스 (예를 들어, 도 1 의 제 2 컴퓨팅 디바이스 (120)) 및/또는 디코더 (예를 들어, 도 6 의 디코더 (600)) 에서 수행될 수도 있다.
방법 (700) 은, 702 에서, (예를 들어, 패킷 교환형 네트워크를 통해) 디코더에서 제 2 오디오 프레임을 수신하는 단계를 포함한다. 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 프레임에 후속한다. 제 2 오디오 프레임은 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당된 비트들의 제 1 개수, 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당된 비트들의 제 2 개수, 및 제 1 오디오 프레임의 프레임 타입의 표시자를 포함한다. 예를 들어, 도 6 에서, 디코더 (600) 는 오디오 신호에 있어서 프레임N (132) 에 후속하는, 프레임N+2 (134) 을 수신할 수도 있다.
방법 (700) 은 또한, 704 에서, 디-지터 버퍼에 제 2 오디오 프레임을 저장하는 단계를 포함한다. 예를 들어, 도 6 에서, 프레임N+2 (134) 는 디-지터 버퍼 (610) 에 저장될 수도 있다. 방법 (700) 은, 706 에서, 프레임 소거 조건이 제 1 오디오 프레임과 연관되는지 여부를 결정하는 단계를 포함한다. 프레임 소거 조건이 제 1 오디오 프레임과 연관된다 (예를 들어, 제 1 오디오 프레임이 열악한 채널 조건들로 인하여 드롭되거나 오류가 생겼다) 고 결정하는 것에 응답하여, 방법 (700) 은, 708 에서, 표시자에 기초하여, 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당되는 제 2 오디오 프레임의 비트들의 제 2 개수를 결정하는 단계를 더 포함한다. 예를 들어, 도 6 에서, 디코딩 경로 (620) 는 프레임N (132) 이 디-지터 버퍼 (610) 에서 이용가능하지 않다고 결정할 수도 있고, 프레임N+2 (134) 에서의 프레임 타입 표시자에 기초하여, 프레임N+2 (134) 의 41 비트가 프레임N (132) 에 대한 리던던트 코딩 정보를 나타낸다고 결정할 수도 있다.
방법 (700) 은, 710 에서, 리던던트 코딩 정보에 기초하여, 제 1 오디오 프레임을 디코딩하는 단계를 포함한다. 예를 들어, 도 6 에서, 디코딩 경로 (620) 는 프레임N+2 (134) 에 포함된 리던던트 코딩 정보의 41 비트에 기초하여, 미싱 (missing) 프레임N (132) 또는 그 근사치를 디코딩할 수도 있다.
프레임 소거 조건이 제 1 오디오 프레임과 연관되지 않을 때, 방법 (700) 은, 712 에서, 제 1 오디오 프레임에서의 프라이머리 코딩 정보에 기초하여 제 1 오디오 프레임을 디코딩하는 단계를 포함한다. 예를 들어, 클린 채널 조건들에 있어서, 프레임N (132) 는 이전에 수신되고 디-지터 버퍼 (610) 에 저장되었을 수도 있으며, 디코딩 경로 (620) 는 프레임N (132) 의 프라이머리 코딩 비트들에 기초하여 프레임N (132) 를 디코딩할 수도 있다.
제 1 오디오 프레임이 리던던트 코딩 정보 또는 프라이머리 코딩 정보를 사용하여 디코딩되는지 여부에 관계 없이, 방법 (700) 은, 714 에서, 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당되는 제 2 오디오 프레임의 비트들의 제 1 개수를 결정하는 단계를 포함할 수도 있다. 방법 (700) 은 또한, 716 에서, 프라이머리 코딩 정보에 기초하여 제 2 오디오 프레임을 디코딩하는 단계를 포함할 수도 있다.
제 2 오디오 프레임 (예를 들어, 프레임N+2 (134)) 에 포함된 리던던트 코딩 정보에 기초한 제 1 오디오 프레임 (예를 들어, 프레임N (132)) 의 디코딩 동안 수행될 수도 있는 하나 이상의 동작들의 특정 예는 도 8 을 참조하여 더 기재된다. 따라서, 도 8 에 도시된 하나 이상의 동작들은 도 7 의 동작 (710) 의 부분으로서 수행될 수도 있다. 일부 실시형태들에서, 도 8 에 나타낸 하나 이상의 동작들은 생략될 수도 있다. 도 8 은 리던던트 프레임 정보에 기초한 HB 디코딩을 도시한다는 것에 유의한다. 도 8 에 나타내지는 않았지만, 리던던트 프레임 정보에 기초한 LB 디코딩은 또한 도 7 의 동작 (710) 동안 디코더에서 수행될 수도 있다.
디코더는, 810 에서, 리던던트 코딩 정보에 포함된 이득 형상 표시자의 값을 결정할 수도 있다. 812 에서, 이득 형상 표시자가 제 1 값을 가질 때, 디코더는 제 1 오디오 프레임의 추정된 이득 형상으로서 제 2 오디오 프레임의 고대역 이득 형상을 사용할 수도 있다. 예를 들어, 도 2 및 도 3 을 참조하면, 디코더는 HB 이득 형상 (203) 을 사용할 수도 있다. 814 에서, 이득 형상 표시자가 제 2 값을 가질 때, 디코더는 제 1 오디오 프레임의 이득 형상을 추정하기 위해 추정된 이득 형상으로서 일정한 이득 형상 또는 일부 다른 예측 방법(들) 을 사용할 수도 있다.
디코더는 또한, 820 에서, 리던던트 코딩 정보에서 HB 이득 프레임 표시자에 얼마나 많은 비트들이 할당되는지를 결정할 수도 있다. 822 에서, 비트들의 제 1 (예를 들어, 큰) 수가 할당될 때, 디코더는 코드북 인덱스로 HB 이득 프레임 표시자를 사용하는 것에 의해 제 1 오디오 프레임의 HB 이득 프레임을 결정할 수도 있다. 824 에서, 단일 비트와 같은 비트들의 제 2 (예를 들어, 작은) 수가 할당될 때, 디코더는 코드북의 표시된 부분 (예를 들어, 상부 또는 하부 절반) 에 액세스하는 것에 의해 제 1 오디오 프레임의 HB 이득 프레임을 결정할 수도 있다.
830 에서, 디코더는 추가로 HB LSP 표시자의 값을 결정할 수도 있다. 832 에서, HB LSP 표시자가 제 1 값을 가질 때, 디코더는 제 1 오디오 프레임의 추정된 HB LSP 인덱스(들)(또는 HB LSP들) 로서 제 2 오디오 프레임의 HB LSP 인덱스(들)(또는 HB LSP들) 을 사용할 수도 있다. 834 에서, HB LSP 표시자가 제 2 값을 가질 때, 디코더는 제 1 및 제 2 오디오 프레임들 사이의 스펙트럼 왜곡이 임계 범위 내에 있는지 여부를 결정할 수도 있다. 836 에서, 스펙트럼 왜곡이 임계 범위 내에 있을 때, 디코더는 보간 (예를 들어 프레임N-1 (131) 과 프레임N+2 (134) 사이에서 보간하는 것) 을 통해 제 1 오디오 프레임의 HB LSP 인덱스(들)(또는 HB LSP들) 을 결정할 수도 있다. 838 에서, 스펙트럼 왜곡이 임계 범위 외에 있을 때, 디코더는 외삽 (예를 들어, 프레임N-2 (551) 및 프레임N-1 (131) 으로부터 외삽하는 것) 을 통해 제 1 오디오 프레임의 HB LSP 인덱스(들)(또는 HB LSP들) 을 결정할 수도 있다.
특정 실시형태들에서, 도 7 및 도 8 의 방법 (700) 은 CPU, DSP, 또는 제어기와 같은 프로세싱 유닛의 하드웨어 (예를 들어, FPGA 디바이스, ASIC 등) 를 통해, 펌웨어 디바이스 또는 이들의 임의의 조합을 통해 구현될 수도 있다. 일 예로서, 도 7 및 도 8 의 방법 (700) 은 도 10 에 관하여 기재된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
도 9 를 참조하면, 후속 프레임으로의 프레임에 대한 리던던트 코딩 정보를 인코딩하는 방법의 특정 실시형태의 플로우챠트가 나타나 있으며 일반적으로 900 으로 지정된다. 예시적인 실시형태에서, 방법 (900) 은 소스 디바이스 (예를 들어, 도 1 의 제 1 컴퓨팅 디바이스 (110) 및/또는 인코더 (도 5 의 인코더 (500)) 에서 수행될 수도 있다.
방법 (900) 은, 902 에서, 오디오 신호의 제 1 오디오 프레임을 인코딩하고 송신하는 단계를 포함한다. 예를 들어, 도 5 에서, 인코더 (500) 는 프레임N (132) 를 인코딩하고 송신할 수도 있다. 방법 (900) 은 또한, 904 에서, 제 1 오디오 프레임의 프레임 타입에 기초하여, 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당하기 위한 제 2 오디오 프레임의 비트들의 제 1 개수를 결정하는 단계를 포함한다. 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 프레임에 후속한다. 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당하기 위한 제 2 오디오 프레임의 비트들의 제 2 개수가 또한 결정된다. 예를 들어, 도 5 에 나타낸 바와 같이, 인코더는, 프레임N (132) 의 프레임 타입에 기초하여, 프레임N+2 (134) 의 41 비트가 프레임 프레임N (132) 에 대한 리던던트 코딩 정보에 할당될 것과 프레임N+2 (134) 의 223 비트가 프레임N+2 (134) 에 대한 프라이머리 코딩 정보에 할당될 것을 결정할 수도 있다.
방법 (900) 은, 906 에서 제 2 오디오 프레임을 인코딩하는 단계를 포함한다. 제 2 오디오 프레임은 프라이머리 코딩 정보의 비트들의 제 1 개수, 리던던트 코딩 정보의 비트들의 제 2 개수, 및 제 1 오디오 프레임의 프레임 타입의 표시자를 포함한다.
예를 들어, 인코더는, 908 에서 단일 비트 이득 형상의 값을 설정할 수도 있다. 값은 제 1 및 제 2 오디오 프레임들 사이의 상관 관계 및/또는 제 1 및 제 2 오디오 프레임들의 HB 이득 형상들과 연관된 코드북 인덱스들 사이의 거리에 기초하여 설정될 수도 있다.
인코더는, 910 에서, 비트들의 특정 개수를 HB 이득 프레임 표시자에 할당할 수도 있다. 비트들의 특정 개수는, 제 1 오디오 프레임이 무성 프레임인지 여부에 기초하여 결정될 수도 있다. 인코더는 또한, 코드북 (예를 들어, 도 4 에 나타낸 HB 이득 프레임 코드북) 에 기초하여 할당된 비트들을 특정 값으로 설정할 수도 있다.
912 에서, 인코더는 제 1 및 제 2 오디오 프레임들 사이의 스펙트럼 왜곡 및/또는 제 1 및 제 2 오디오 프레임들의 HB LSP들과 연관된 코드북 인덱스들 사이의 거리에 기초하여 단일 비트 HB LSP 표시자의 값을 설정할 수도 있다. 대안으로, 914 에서, 인코더는 제 1 및 제 2 오디오 프레임들의 고대역 LSP들 사이의 차이 (예를 들어, 델타) 를 결정하고 그 차이에 기초하여 HB LSP 표시자의 값을 설정할 수도 있다. 대안의 실시형태들에서, 상이한 리던던트 코딩 정보는 인코더에 의해 결정될 수도 있다. 게다가, 단일 비트 또는 다중 비트인 표시자들의 소정의 타입들의 위에서 언급된 예들은 단지 예시일 뿐이고, 제한하는 것으로 고려되지 않아야 한다는 것을 알아야 한다. 대안의 실시형태들에서, 프라이머리 및/또는 리던던트 코딩 정보의 상이한 타입들은 상이한 수의 비트들을 사용하여 나타낼 수도 있다.
방법 (900) 은, 916 에서 제 2 오디오 프레임을 송신하는 단계를 더 포함한다. 예를 들어, 도 1 에서, 송신기 (118) 는 프레임N+2 (134) 를 수신기 (128) 로 송신할 수도 있으며, 여기서 프레임N+2 (134) 는 프레임N (132) 에 대한 리던던트 코딩 정보를 포함한다.
특정 실시형태들에서, 도 9 의 방법 (900) 은 CPU, DSP, 또는 제어기와 같은 프로세싱 유닛의 하드웨어 (예를 들어, FPGA 디바이스, ASIC 등) 을 통해, 펌웨어 디바이스, 또는 이들의 임의의 조합을 통해 구현될 수도 있다. 일 예로서, 도 9 의 방법은 도 10 에 관하여 기재된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
도 7 내지 도 9 에 도시된 동작들의 순서는 예시의 목적을 위해서이며 제한하는 것으로 고려되지 않아야 함을 유의해야 한다. 대안의 실시형태들에서, 소정의 동작들은 상이한 순서로 수행될 수도 있고 및/또는 서로 동시에 (또는 적어도 부분적으로 동시에) 수행될 수도 있다.
도 10 을 참조하면, 무선 통신 디바이스의 특정 예시적인 실시형태의 블록 다이어그램이 도시되며 일반적으로 1000 으로 지정된다. 디바이스 (1000) 는 메모리 (1032)(예를 들어, 컴퓨터 판독가능 저장 디바이스) 에 커플링된 제 1 프로세서 (1010)(예를 들어, CPU) 를 포함한다. 디바이스 (1000) 는 또한 제 2 프로세서 (1080)(예를 들어, DSP) 를 포함한다. 메모리 (1032) 는 도 7 내지 도 9 의 방법들과 같은, 본 명세서에 개시된 프로세스들 및 방법들을 수행하기 위해 제 1 프로세서 (1010) 및/또는 제 2 프로세서 (1080) 에 의해 실행가능한 명령들 (1060) 을 포함할 수도 있다.
제 2 프로세서 (1080) 는 스피치 인코더 (1087), 스피치 디코더 (1088), 및 하나 이상의 코드북들 (1086)(예를 들어, LB LSP 코드북, HB LSP 코드북, HB 이득 형상 코드북, HB 이득 프레임 코드북 등) 을 저장하는 메모리 (1085) 를 포함할 수도 있다. 하나 이상의 코드북들 (1086) 은 ACB들, FCB들, 또는 양자 모두를 포함할 수도 있다. 예시적인 실시형태에서, 스피치 인코더 (1087) 는 도 1 의 인코더 (116) 및/또는 도 5 의 인코더 (500) 이고, 스피치 디코더 (1088) 는 도 1 의 디코더 (126) 및/또는 도 6 의 디코더 (600) 이며, 메모리 (1085) 는 도 1 의 디-지터 버퍼 (129), 도 6 의 공유 메모리 (530), 및/또는 도 6 의 디-지터 버퍼 (610) 를 포함한다. 대안의 실시형태들에서, 스피치 인코더 (1087) 및/또는 스피치 디코더 (1088) 는 제 2 프로세서 (1088) 외부에 있을 수도 있다 (예를 들어, 제 1 프로세서 (1010) 에 또는 상이한 프로세서 또는 하드웨어 블록에 포함될 수도 있다). 스피치 인코더 (1087) 및 스피치 디코더 (1088) 는, 하나 이상의 태스크들 또는 이들의 조합을 수행하기 위해 명령들을 실행하는 프로세서에 의해, 전용 하드웨어 (예를 들어, 회로) 를 통해 구현될 수도 있다. 일 예로서, 메모리 (1032) 또는 메모리 (1085) 는 메모리 디바이스, 예컨대 랜덤 액세스 메모리 (RAM), 자기 저항 랜덤 액세스 메모리 (MRAM), 스핀-토크 전송 MRAM (STT-MRAN), 플래시 메모리, 리드 온니 메모리 (ROM), 프로그램가능 리드 온니 메모리 (PROM), 소거가능 프로그램가능 리드 온니 메모리 (EPROM), 전기적 소거가능 프로그램가능 리드 온니 메모리 (EEPROM), 레지스터들, 하드 디스크, 탈착가능 디스크, 또는 광학 디스크 메모리 (예를 들어, 컴팩 디스크 리드 온니 메모리 (CR-ROM), 디지털 비디오 디스크 (DVD), 블루-레이 디스크 등) 일 수도 있다. 메모리 디바이스는, 컴퓨터 (예를 들어, 제 1 프로세서 (1010) 및/또는 제 2 프로세서 (1080)) 에 의해 실행될 때, 컴퓨터로 하여금 본 명세서에 기재된 다양한 동작들을 수행하게 하는 명령들 (예를 들어, 명령들 (1060)) 을 포함할 수도 있다.
도 10 은 또한 제 1 프로세서 (1010) 및 디스플레이 (1028) 에 커플링되는 디스플레이 제어기 (1026) 를 나타낸다. 코더/디코더 (코덱)(CODEC)(1034) 는, 나타내 바와 같이, 제 1 프로세서 (1010) 에 그리고 제 2 프로세서 (1080) 에 커플링될 수도 있다. 스피커 (1036) 및 마이크로폰 (1038) 은 코덱 (1034) 에 커플링될 수 있다. 특정 실시형태에서, 코덱 (1034) 는 아날로그 오디오 프로세싱 프론트 엔드 컴포넌트이다. 예를 들어, 코덱 (1034) 은 마이크로폰 (1038) 으로부터 수신된 신호들 및 스피커 (1036) 로 송신된 신호들에 대한 이득 조정 및 파라미터 설정을 수행할 수도 있다. 코덱 (1034) 은 또한 아날로그-디지털 (A/D) 및 디지털-아날로그 (D/A) 컨버터들을 포함할 수도 있다. 특정 예에서, 코덱 (1034) 은 또한 하나 이상의 변조기들 및 신호 프로세싱 필터들을 포함한다. 선택된 실시형태들에서, 코덱 (1034) 은 메모리를 포함하여 마이크로폰 (1038) 로부터 수신된 입력 데이터를 버퍼링하고 스피커 (1036) 에 제공될 출력 데이터를 버퍼링한다.
도 10 은 또한 무선 제어기 (1040) 가 제 1 프로세서 (1010) 및 안테나 (1042) 에 커플링될 수 있는 것을 표시한다. 특정 실시형태에서, 제 1 프로세서 (1010), 제 2 프로세서 (1080), 디스플레이 제어기 (1026), 메모리 (1032), 코덱 (1034), 및 무선 제어기 (1040) 은 시스템-인-패키지에 또는 시스템-온-칩 디바이스 (예를 들어, 이동국 모뎀 (MSM))(1022) 에 포함된다. 특정 실시형태에서, 입력 디바이스 (1030), 예컨대 터치스크린 및/또는 키패드, 및 전원 (1044) 는 시스템-온-칩 디바이스 (1022) 에 커플링된다. 게다가, 특정 실시형태에서, 도 10 에 도시된 바와 같이, 디스플레이 (1028), 입력 디바이스 (1030), 스피커 (1036), 마이크로폰 (1038), 안테나 (1042), 및 전원 (1044) 는 시스템-온-칩 디바이스 (1022) 외부에 있다. 하지만, 디스플레이 (1028), 입력 디바이스 (1030), 스피커 (1036), 마이크로폰 (1038), 안테나 (1042) 및 전원 (1044) 의 각각은, 인터페이스 또는 제어기와 같은 시스템-온-칩 디바이스 (1022) 의 컴포넌트에 커플링될 수 있다.
기재된 실시형태들과 함께, 제 2 오디오 프레임을 수신하는 수단을 포함하는 장치가 개시되며, 여기서 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 신호에 후속한다. 제 2 오디오 프레임은 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당된 비트들의 제 1 개수, 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당된 비트들의 제 2 개수, 및 제 1 오디오 프레임의 프레임 타입의 표시자를 포함한다. 예를 들어, 수신하는 수단은, 도 1 의 수신기 (128), 도 10 의 안테나 (1042), 도 10 의 무선 제어기 (1040), 오디오 프레임을 수신하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다. 장치는 또한, 표시자에 기초하여, 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당되는 제 2 오디오 프레임의 비트들의 제 2 개수를 결정하는 수단을 포함할 수도 있다. 예를 들어, 결정하는 수단은, 도 1 의 프로세서 (122), 도 1 의 디코더 (126), 도 6 의 디코더 (600), 도 10 의 제 1 프로세서 (1010), 도 10 의 제 2 프로세서 (1080), 도 10 의 스피치 디코더 (1088), 리던던트 코딩 정보에 할당된 비트들의 개수를 결정하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다. 장치는 또한 리던던트 코딩 정보에 기초하여 제 1 오디오 프레임을 디코딩하는 수단을 포함할 수도 있다. 예를 들어, 디코딩하는 수단은 도 1 의 디코더 (126), 도 6 의 디코더 (600), 도 10 의 제 1 프로세서 (1010), 도 10 의 제 2 프로세서 (1080), 도 10 의 스피치 디코더 (1088), 리던던트 코딩 정보에 기초하여 오디오 프레임을 디코딩하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다.
오디오 신호의 제 1 오디오 프레임 및 제 2 오디오 프레임을 인코딩하는 수단을 포함하는 제 2 장치가 개시되며, 여기서 제 2 오디오 프레임은 오디오 신호에 있어서 제 1 오디오 프레임에 후속한다. 예를 들어, 인코딩하는 수단은, 도 1 의 인코더 (116), 도 5 의 인코더 (500), 도 10 의 제 1 프로세서 (1010), 도 10 의 제 2 프로세서 (1080), 도 10 의 스피치 인코더 (1087), 오디오 프레임을 인코딩하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다. 장치는 또한 제 1 오디오 프레임의 프레임 타입에 기초하여, 제 2 오디오 프레임과 연관된 프라이머리 코딩 정보에 할당하기 위한 제 2 오디오 프레임의 비트들의 제 1 개수 및 제 1 오디오 프레임과 연관된 리던던트 코딩 정보에 할당하기 위한 제 2 오디오 프레임의 비트들의 제 2 개수를 결정하는 수단을 포함할 수도 있다. 예를 들어, 결정하는 수단은, 도 1 의 프로세서 (112), 도 1 의 인코더 (116), 도 1 의 인코더 (500), 도 10 의 제 1 프로세서 (1010), 도 10 의 제 2 프로세서 (1080), 도 10 의 스피치 인코더 (1087), 프라이머리 코딩 정보에 그리고 리던던트 코딩 정보에 할당된 비트들을 결정하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다. 장치는 또한 제 1 오디오 프레임 및 제 2 오디오 프레임을 목적지 디바이스로 송신하는 수단을 포함할 수도 있다. 제 2 오디오 프레임은 프라이머리 코딩 정보의 비트들의 제 1 개수, 리던던트 코딩 정보의 비트들의 제 2 개수, 및 제 1 오디오 프레임의 프레임 타입의 표시자를 포함한다. 예를 들어, 송신하는 수단은, 도 1 의 송신기 (118), 도 10 의 안테나 (1042), 도 10 의 무선 제어기 (1040), 오디오 프레임을 송신하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다.
당업자는 또한 본 명세서에 기재된 실시형태들과 함께 기재된 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들 및 알고리즘 단계들은 전자 하드웨어, 하드웨어 프로세서와 같은 프로세싱 디바이스에 의해 실행되는 컴퓨터 소프트웨어, 또는 양자의 조합들로서 구현될 수도 있다는 것을 알 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들 모듈들, 회로들 및 단계들은 그 기능에 관하여 일반적으로 위에서 기재되었다. 그러한 기능이 하드웨어 또는 실행가능한 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과된 설계 제약들 및 특정 어플리케이션들에 의존한다. 당업자는 각각의 특정 어플리케이션에 대해 다양한 방식들로 기재된 기능을 구현할 수도 있지만, 그러한 구현 결정들이 본 개시물의 범위로부터 벗어나는 것을 야기하는 것으로 해석되지 않아야 한다.
본 명세서에 개시된 실시형태들과 관련하여 기재된 방법 또는 알고리즘의 단계들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 이들 2 개의 조합에서 직접적으로 구현될 수도 있다. 소프트웨어 모듈은 메모리 디바이스 (예를 들어, 컴퓨터 판독가능 또는 프로세서 판독가능 저장 디바이스 ), 예컨대 RAM, MRAM, STT-MRAM, 플래시 메모리, ROM, PROM, EPROM, EEPROM, 레지스터들, 하드 디스크, 탈착가능 디스크, 또는 광학 디스크 메모리에 상주할 수도 있다. 예시적인 메모리 디바이스는, 프로세서가 메모리 디바이스로부터 정보를 판독하고 이 메모리 디바이스에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안에 있어서, 메모리 디바이스는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 은 컴퓨팅 디바이스 또는 사용자 단말기에 상주할 수도 있다. 대안에 있어서, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말기에서 이산 컴포넌트들로서 상주할 수도 있다. 컴퓨터 판독가능 또는 프로세서 판독가능 저장 디바이스가 신호는 아니다.
개시된 실시형태들의 이전의 기재는 당업자가 개시된 실시형태들을 제작하고 사용하는 것을 가능하게 하기 위해 제공된다. 이들 실시형태들에 대한 다양한 수정들이 당업자에게 쉽게 자명할 것이고, 본 명세서에 정의된 원리들은 개시물의 범위로부터 벗어나지 않으면서 다른 실시형태들에 적용될 수도 있다. 따라서, 본 개시물은 본 명세서에 나타낸 실시형태들에 제한되는 것으로 의도되는 것이 아니라 다음의 청구항들에 의해 정의되는 바와 같은 신규 피처들 및 원리들을 따르는 가능한 최광 범위에 부합되는 것으로 의도된다.

Claims (44)

  1. 프레임을 인코딩하는 방법으로서,
    제 1 컴퓨팅 디바이스의 인코더에서 오디오 신호의 제 1 오디오 프레임 (132) 을 인코딩하는 단계 (902) 로서, 상기 제 1 오디오 프레임 (132) 은 음성 스피치 프레임, 무성 프레임, 오디오 트랜지션 프레임, 및 적응형 코드북 정보 및 고정형 코드북 정보 양자 모두를 포함하는 혼합 모드 프레임을 포함하는 복수의 클래스들 중 하나로 상기 제 1 오디오 프레임 (132) 을 분류하는 제 1 타입을 갖는, 상기 제 1 오디오 프레임 (132) 을 인코딩하는 단계 (902);
    상기 제 1 컴퓨팅 디바이스로부터의 인코딩된 상기 제 1 오디오 프레임을 제 2 컴퓨팅 디바이스로 송신하는 단계 (902);
    상기 제 1 컴퓨팅 디바이스의 상기 인코더에서, 상기 제 1 오디오 프레임 (132) 의 프레임 타입이 상기 제 1 오디오 프레임 (132) 을 분류하는 상기 복수의 클래스들 중 어느 것에 기초하여, 제 2 오디오 프레임 (134) 과 연관된 프라이머리 코딩 정보에 할당하기 위한 상기 제 2 오디오 프레임 (134) 의 비트들의 제 1 개수 및 상기 제 1 오디오 프레임 (132) 과 연관된 리던던트 코딩 정보에 할당하기 위한 상기 제 2 오디오 프레임 (134) 의 비트들의 제 2 개수를 결정하는 단계 (904) 로서, 상기 제 2 오디오 프레임 (134) 은 상기 오디오 신호에 있어서 상기 제 1 오디오 프레임 (132) 에 후속하는, 상기 제 2 오디오 프레임 (134) 의 비트들의 제 1 개수 및 제 2 개수를 결정하는 단계 (904);
    상기 제 1 컴퓨팅 디바이스의 상기 인코더에서 상기 제 2 오디오 프레임 (134) 을 인코딩하는 단계 (906) 로서, 상기 제 2 오디오 프레임 (134) 은 프라이머리 코딩 정보의 비트들의 제 1 개수, 리던던트 코딩 정보의 비트들의 제 2 개수, 및 상기 제 1 오디오 프레임의 프레임 타입의 표시자 (215) 를 포함하는, 상기 제 2 오디오 프레임 (134) 을 인코딩하는 단계 (906); 및
    상기 제 1 컴퓨팅 디바이스로부터의 인코딩된 상기 제 2 오디오 프레임을 상기 제 2 컴퓨팅 디바이스로 송신하는 단계 (916) 를 포함하는, 프레임을 인코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 오디오 프레임 (132) 의 프레임 타입의 표시자 (215) 는 상기 제 2 오디오 프레임 (134) 의 마지막 3 비트에 포함되는, 프레임을 인코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 리던던트 코딩 정보는 상기 제 1 오디오 프레임 (132) 의 고대역 이득 형상과 연관된 이득 형상 표시자 (211) 를 포함하고, 그리고 상기 방법은,
    i) 상기 제 1 오디오 프레임 (132) 의 고대역 부분과 상기 제 2 오디오 프레임 (134) 의 고대역 부분 사이의 상관 관계; 및
    ii) 상기 제 1 오디오 프레임 (132) 의 고대역 이득 형상과 연관된 제 1 코드북 인덱스와 상기 제 2 오디오 프레임 (134) 의 고대역 이득 형상과 연관된 제 2 코드북 인덱스 사이의 거리
    중 하나 이상에 기초하여, 상기 이득 형상 표시자 (211) 의 값을 설정하는 단계 (908) 를 더 포함하는, 프레임을 인코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 리던던트 코딩 정보는 상기 제 1 오디오 프레임의 고대역 이득 프레임과 연관된 고대역 이득 프레임 표시자 (212) 를 포함하는, 프레임을 인코딩하는 방법.
  5. 제 4 항에 있어서,
    i) 상기 제 1 오디오 프레임이 무성 프레임일 때, 상기 고대역 이득 프레임 표시자 (212) 를 코드북 인덱스로 설정하는 단계 (910); 및
    ii) 상기 제 1 오디오 프레임이 무성 프레임이 아닐 때, 상기 고대역 이득 프레임 표시자 (212) 를, 상기 제 1 오디오 프레임 (132) 의 고대역 이득 프레임이 높은 코드북 인덱스들에 대응하는 코드북의 제 1 부분에서 또는 낮은 코드북 인덱스들에 대응하는 상기 코드북의 제 2 부분에서 코드북 인덱스에 대응하는지 여부를 표시하는 값으로 설정하는 단계
    중 적어도 하나를 더 포함하는, 프레임을 인코딩하는 방법.
  6. 제 1 항에 있어서,
    상기 리던던트 코딩 정보는 상기 제 1 오디오 프레임 (132) 의 고대역 라인 스펙트럼 쌍 (LSP) 들과 연관된 고대역 LSP 표시자 (213) 를 포함하고,
    상기 방법은,
    상기 제 1 오디오 프레임 (132) 과 상기 제 2 오디오 프레임 (134) 사이의 스펙트럼 왜곡; 및
    상기 제 1 오디오 프레임 (132) 의 고대역 LSP들과 연관된 제 1 코드북 인덱스와 상기 제 2 오디오 프레임 (134) 의 고대역 LSP들과 연관된 제 2 코드북 인덱스 사이의 거리
    중 하나 이상에 기초하여, 상기 고대역 LSP 표시자의 값을 설정하는 단계 (912) 를 더 포함하는, 프레임을 인코딩하는 방법.
  7. 제 1 항에 있어서,
    상기 리던던트 코딩 정보는 상기 제 1 오디오 프레임 (132) 의 고대역 라인 스펙트럼 쌍 (LSP) 들과 연관된 고대역 LSP 표시자 (213) 를 포함하고,
    상기 방법은,
    상기 제 1 오디오 프레임 (132) 의 고대역 LSP들과 상기 제 2 오디오 프레임 (134) 의 고대역 LSP들 사이의 차이를 결정하는 단계 (914); 및
    상기 차이에 기초하여 상기 고대역 LSP 표시자의 값을 설정하는 단계 (914) 를 더 포함하는, 프레임을 인코딩하는 방법.
  8. 인코더로서,
    오디오 신호의 제 1 오디오 프레임 (132) 을 인코딩 (902) 하는 것으로서, 상기 제 1 오디오 프레임 (132) 은 음성 스피치 프레임, 무성 프레임, 오디오 트랜지션 프레임, 및 적응형 코드북 정보 및 고정형 코드북 정보 양자 모두를 포함하는 혼합 모드 프레임을 포함하는 복수의 클래스들 중 하나로 상기 제 1 오디오 프레임 (132) 을 분류하는 제 1 타입을 갖는, 상기 제 1 오디오 프레임 (132) 을 인코딩 (902) 하고;
    상기 제 1 오디오 프레임 (132) 의 프레임 타입이 상기 제 1 오디오 프레임 (132) 을 분류하는 상기 복수의 클래스들 중 특정 클래스들에 기초하여, 제 2 오디오 프레임 (134) 과 연관된 프라이머리 코딩 정보에 할당하기 위한 상기 제 2 오디오 프레임 (134) 의 비트들의 제 1 개수 및 상기 제 1 오디오 프레임 (132) 과 연관된 리던던트 코딩 정보에 할당하기 위한 상기 제 2 오디오 프레임 (134) 의 비트들의 제 2 개수를 결정 (904) 하는 것으로서, 상기 제 2 오디오 프레임 (134) 은 상기 오디오 신호에 있어서 상기 제 1 오디오 프레임 (132) 에 후속하는, 상기 제 2 오디오 프레임 (134) 의 비트들의 제 1 개수 및 제 2 개수를 결정 (904) 하고; 그리고
    상기 제 2 오디오 프레임 (134) 을 인코딩 (906) 하는 것으로서, 상기 제 2 오디오 프레임 (134) 은 프라이머리 코딩 정보의 비트들의 제 1 개수, 리던던트 코딩 정보의 비트들의 제 2 개수, 및 상기 제 1 오디오 프레임의 프레임 타입의 표시자 (215) 를 포함하는, 상기 제 2 오디오 프레임 (134) 을 인코딩 (906) 하도록 구성된,
    상기 인코더; 및
    인코딩된 상기 제 1 오디오 프레임 및 인코딩된 상기 제 2 오디오 프레임을 목적지 디바이스로 송신 (902, 916) 하도록 구성된 송신기를 포함하는, 장치.
  9. 제 8 항에 있어서,
    상기 인코더는 병렬로 동작하는 2 개의 인코딩 경로들을 포함하고, 상기 2 개의 인코딩 경로들은 프라이머리 인코딩 경로 (510) 및 리던던트 인코딩 경로 (520) 를 포함하고,
    상기 프라이머리 코딩 정보의 비트들의 제 1 개수는 상기 프라이머리 인코딩 경로 (510) 에 의해 생성되고, 그리고
    상기 리던던트 코딩 정보의 비트들의 제 2 개수는 상기 리던던트 인코딩 경로 (520) 에 의해 생성되는, 장치.
  10. 제 8 항에 있어서,
    상기 제 1 오디오 프레임 (132) 의 프레임 타입의 표시자 (215) 는 상기 제 2 오디오 프레임 (134) 의 마지막 3 비트에 포함되는, 장치.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 리던던트 코딩 정보는 상기 제 1 오디오 프레임 (132) 의 고대역 이득 형상과 연관된 이득 형상 표시자 (211) 를 포함하고, 그리고 상기 장치는 또한,
    i) 상기 제 1 오디오 프레임 (132) 의 고대역 부분과 상기 제 2 오디오 프레임 (134) 의 고대역 부분 사이의 상관 관계, 및
    ii) 상기 제 1 오디오 프레임 (132) 의 고대역 이득 형상과 연관된 제 1 코드북 인덱스와 상기 제 2 오디오 프레임 (134) 의 고대역 이득 형상과 연관된 제 2 코드북 인덱스 사이의 거리
    중 하나 이상에 기초하여, 상기 이득 형상 표시자 (211) 의 값을 설정 (908) 하도록 구성되는, 장치.
  12. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 리던던트 코딩 정보는 상기 제 1 오디오 프레임 (132) 의 고대역 이득 프레임과 연관된 고대역 이득 프레임 표시자 (212) 를 포함하는, 장치.
  13. 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제 1 항 내지 제 7 항 중 어느 한 항에 기재된 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
KR1020167012158A 2013-10-11 2014-10-09 리던던트 프레임 정보를 통신하는 시스템들 및 방법들 KR102229487B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361890092P 2013-10-11 2013-10-11
US61/890,092 2013-10-11
US14/509,817 2014-10-08
US14/509,817 US10614816B2 (en) 2013-10-11 2014-10-08 Systems and methods of communicating redundant frame information
PCT/US2014/059931 WO2015054512A1 (en) 2013-10-11 2014-10-09 Systems and methods of communicating redundant frame information

Publications (2)

Publication Number Publication Date
KR20160072145A KR20160072145A (ko) 2016-06-22
KR102229487B1 true KR102229487B1 (ko) 2021-03-17

Family

ID=52810405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167012158A KR102229487B1 (ko) 2013-10-11 2014-10-09 리던던트 프레임 정보를 통신하는 시스템들 및 방법들

Country Status (21)

Country Link
US (2) US10614816B2 (ko)
EP (2) EP3700111B1 (ko)
JP (2) JP6553025B2 (ko)
KR (1) KR102229487B1 (ko)
CN (1) CN105594148B (ko)
AU (1) AU2014331824B2 (ko)
BR (1) BR112016007940B1 (ko)
CA (1) CA2925582C (ko)
CL (1) CL2016000833A1 (ko)
DK (1) DK3055939T3 (ko)
ES (2) ES2805849T3 (ko)
HK (1) HK1219582A1 (ko)
HU (1) HUE049089T2 (ko)
MX (1) MX365608B (ko)
MY (1) MY179633A (ko)
PH (1) PH12016500652A1 (ko)
RU (1) RU2673847C2 (ko)
SA (1) SA516370874B1 (ko)
SG (1) SG11201601782VA (ko)
WO (1) WO2015054512A1 (ko)
ZA (1) ZA201602114B (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2527365B (en) * 2014-06-20 2018-09-12 Starleaf Ltd A telecommunication end-point device data transmission controller
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法
US9948578B2 (en) * 2015-04-14 2018-04-17 Qualcomm Incorporated De-jitter buffer update
WO2017000117A1 (zh) 2015-06-29 2017-01-05 华为技术有限公司 数据处理的方法及接收设备
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
JP6409812B2 (ja) * 2016-04-01 2018-10-24 横河電機株式会社 冗長化装置、冗長化システム、及び冗長化方法
CN108011686B (zh) * 2016-10-31 2020-07-14 腾讯科技(深圳)有限公司 信息编码帧丢失恢复方法和装置
CN106710606B (zh) * 2016-12-29 2019-11-08 百度在线网络技术(北京)有限公司 基于人工智能的语音处理方法及装置
US20190051286A1 (en) * 2017-08-14 2019-02-14 Microsoft Technology Licensing, Llc Normalization of high band signals in network telephony communications
CN111133510B (zh) * 2017-09-20 2023-08-22 沃伊斯亚吉公司 用于在celp编解码器中高效地分配比特预算的方法和设备
US10475456B1 (en) * 2018-06-04 2019-11-12 Qualcomm Incorporated Smart coding mode switching in audio rate adaptation
EP4035288A1 (en) 2019-09-25 2022-08-03 Mixhalo Corp. Packet payload mapping for robust transmission of data
US11811686B2 (en) * 2020-12-08 2023-11-07 Mediatek Inc. Packet reordering method of sound bar
CN112735446B (zh) * 2020-12-30 2022-05-17 北京百瑞互联技术有限公司 在lc3音频码流中添加额外信息的方法、系统及介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141638A (en) 1998-05-28 2000-10-31 Motorola, Inc. Method and apparatus for coding an information signal
US7117146B2 (en) 1998-08-24 2006-10-03 Mindspeed Technologies, Inc. System for improved use of pitch enhancement with subcodebooks
US7272556B1 (en) 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
GB2342829B (en) 1998-10-13 2003-03-26 Nokia Mobile Phones Ltd Postfilter
CA2252170A1 (en) 1998-10-27 2000-04-27 Bruno Bessette A method and device for high quality coding of wideband speech and audio signals
US6449313B1 (en) 1999-04-28 2002-09-10 Lucent Technologies Inc. Shaped fixed codebook search for celp speech coding
US6704701B1 (en) 1999-07-02 2004-03-09 Mindspeed Technologies, Inc. Bi-directional pitch enhancement in speech coding systems
US6801499B1 (en) 1999-08-10 2004-10-05 Texas Instruments Incorporated Diversity schemes for packet communications
AU2001241475A1 (en) 2000-02-11 2001-08-20 Comsat Corporation Background noise reduction in sinusoidal based speech coding systems
US6757654B1 (en) 2000-05-11 2004-06-29 Telefonaktiebolaget Lm Ericsson Forward error correction in speech coding
US6760698B2 (en) 2000-09-15 2004-07-06 Mindspeed Technologies Inc. System for coding speech information using an adaptive codebook with enhanced variable resolution scheme
AU2001287970A1 (en) 2000-09-15 2002-03-26 Conexant Systems, Inc. Short-term enhancement in celp speech coding
US6804218B2 (en) * 2000-12-04 2004-10-12 Qualcomm Incorporated Method and apparatus for improved detection of rate errors in variable rate receivers
US6766289B2 (en) 2001-06-04 2004-07-20 Qualcomm Incorporated Fast code-vector searching
JP3457293B2 (ja) 2001-06-06 2003-10-14 三菱電機株式会社 雑音抑圧装置及び雑音抑圧方法
US6993207B1 (en) 2001-10-05 2006-01-31 Micron Technology, Inc. Method and apparatus for electronic image processing
US7146313B2 (en) 2001-12-14 2006-12-05 Microsoft Corporation Techniques for measurement of perceptual audio quality
US7047188B2 (en) 2002-11-08 2006-05-16 Motorola, Inc. Method and apparatus for improvement coding of the subframe gain in a speech coding system
US20070013873A9 (en) * 2004-04-29 2007-01-18 Jacobson Joseph M Low cost portable computing device
US7930184B2 (en) 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
US7788091B2 (en) 2004-09-22 2010-08-31 Texas Instruments Incorporated Methods, devices and systems for improved pitch enhancement and autocorrelation in voice codecs
JP2006197391A (ja) 2005-01-14 2006-07-27 Toshiba Corp 音声ミクシング処理装置及び音声ミクシング処理方法
KR100612889B1 (ko) * 2005-02-05 2006-08-14 삼성전자주식회사 선스펙트럼 쌍 파라미터 복원 방법 및 장치와 그 음성복호화 장치
US8280730B2 (en) 2005-05-25 2012-10-02 Motorola Mobility Llc Method and apparatus of increasing speech intelligibility in noisy environments
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
DE102006022346B4 (de) 2006-05-12 2008-02-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Informationssignalcodierung
US8682652B2 (en) 2006-06-30 2014-03-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
PT2102619T (pt) * 2006-10-24 2017-05-25 Voiceage Corp Método e dispositivo para codificação de tramas de transição em sinais de voz
US9009032B2 (en) 2006-11-09 2015-04-14 Broadcom Corporation Method and system for performing sample rate conversion
US20100332223A1 (en) 2006-12-13 2010-12-30 Panasonic Corporation Audio decoding device and power adjusting method
US20080208575A1 (en) 2007-02-27 2008-08-28 Nokia Corporation Split-band encoding and decoding of an audio signal
EP2381580A1 (en) 2007-04-13 2011-10-26 Global IP Solutions (GIPS) AB Adaptive, scalable packet loss recovery
US8352252B2 (en) 2009-06-04 2013-01-08 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
US8428938B2 (en) * 2009-06-04 2013-04-23 Qualcomm Incorporated Systems and methods for reconstructing an erased speech frame
US8484020B2 (en) 2009-10-23 2013-07-09 Qualcomm Incorporated Determining an upperband signal from a narrowband signal
JP5812998B2 (ja) 2009-11-19 2015-11-17 テレフオンアクチーボラゲット エル エム エリクソン(パブル) オーディオコーデックにおけるラウドネスおよびシャープネスの補償のための方法および装置
US8600737B2 (en) 2010-06-01 2013-12-03 Qualcomm Incorporated Systems, methods, apparatus, and computer program products for wideband speech coding
US8738385B2 (en) 2010-10-20 2014-05-27 Broadcom Corporation Pitch-based pre-filtering and post-filtering for compression of audio signals
US9026434B2 (en) * 2011-04-11 2015-05-05 Samsung Electronic Co., Ltd. Frame erasure concealment for a multi rate speech and audio codec
WO2012158157A1 (en) 2011-05-16 2012-11-22 Google Inc. Method for super-wideband noise supression
CN102802112B (zh) 2011-05-24 2014-08-13 鸿富锦精密工业(深圳)有限公司 具有音频文件格式转换功能的电子装置
US9047863B2 (en) 2012-01-12 2015-06-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control
US9275644B2 (en) 2012-01-20 2016-03-01 Qualcomm Incorporated Devices for redundant frame coding and decoding

Also Published As

Publication number Publication date
WO2015054512A1 (en) 2015-04-16
AU2014331824B2 (en) 2018-12-06
EP3700111C0 (en) 2023-11-22
MX365608B (es) 2019-06-07
CN105594148B (zh) 2019-07-05
SA516370874B1 (ar) 2020-09-21
RU2016116793A (ru) 2017-11-16
CN105594148A (zh) 2016-05-18
EP3055939A1 (en) 2016-08-17
US10614816B2 (en) 2020-04-07
ES2967136T3 (es) 2024-04-26
PH12016500652A1 (en) 2016-05-30
ZA201602114B (en) 2020-09-30
JP2019215545A (ja) 2019-12-19
JP6553025B2 (ja) 2019-07-31
KR20160072145A (ko) 2016-06-22
ES2805849T3 (es) 2021-02-15
JP2016539536A (ja) 2016-12-15
BR112016007940A2 (ko) 2017-08-01
CA2925582C (en) 2022-01-04
AU2014331824A1 (en) 2016-03-31
EP3700111A1 (en) 2020-08-26
CA2925582A1 (en) 2015-04-16
DK3055939T3 (da) 2020-05-18
MX2016004529A (es) 2016-07-22
EP3055939B1 (en) 2020-04-15
MY179633A (en) 2020-11-11
JP6768886B2 (ja) 2020-10-14
EP3700111B1 (en) 2023-11-22
NZ717780A (en) 2021-05-28
HK1219582A1 (zh) 2017-04-07
US20200194010A1 (en) 2020-06-18
US20150106106A1 (en) 2015-04-16
HUE049089T2 (hu) 2020-09-28
RU2673847C2 (ru) 2018-11-30
SG11201601782VA (en) 2016-04-28
RU2016116793A3 (ko) 2018-06-20
BR112016007940B1 (pt) 2023-03-07
CL2016000833A1 (es) 2016-11-25

Similar Documents

Publication Publication Date Title
KR102229487B1 (ko) 리던던트 프레임 정보를 통신하는 시스템들 및 방법들
JP6151405B2 (ja) クリティカリティ閾値制御のためのシステム、方法、装置、およびコンピュータ可読媒体
ES2839509T3 (es) Codificador, decodificador y método para codificar y decodificar contenido de audio que utiliza parámetros para potenciar una ocultación
RU2418324C2 (ru) Поддиапазонный речевой кодекс с многокаскадными таблицами кодирования и избыточным кодированием
ES2650492T3 (es) Dispositivo y método de cuantificación de filtro LPC de múltiples referencias
KR101548846B1 (ko) 워터마킹된 신호의 적응적 인코딩 및 디코딩을 위한 디바이스
US10163447B2 (en) High-band signal modeling
US9293143B2 (en) Bandwidth extension mode selection
ES2807258T3 (es) Escalado para circuitería de forma de ganancia
CA2925572C (en) Gain shape estimation for improved tracking of high-band temporal characteristics
PH12015501516B1 (en) System and methods of performing filtering for gain determination.
JP7285830B2 (ja) Celpコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス
NZ717780B2 (en) Systems and methods of communicating redundant frame information
GB2391440A (en) Speech communication unit and method for error mitigation of speech frames

Legal Events

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