KR20120019503A - 소거된 스피치 프레임을 복원하는 시스템 및 방법 - Google Patents

소거된 스피치 프레임을 복원하는 시스템 및 방법 Download PDF

Info

Publication number
KR20120019503A
KR20120019503A KR1020127000187A KR20127000187A KR20120019503A KR 20120019503 A KR20120019503 A KR 20120019503A KR 1020127000187 A KR1020127000187 A KR 1020127000187A KR 20127000187 A KR20127000187 A KR 20127000187A KR 20120019503 A KR20120019503 A KR 20120019503A
Authority
KR
South Korea
Prior art keywords
frame
speech frame
speech
erased
index position
Prior art date
Application number
KR1020127000187A
Other languages
English (en)
Other versions
KR101290425B1 (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 KR20120019503A publication Critical patent/KR20120019503A/ko
Application granted granted Critical
Publication of KR101290425B1 publication Critical patent/KR101290425B1/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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Telephonic Communication Services (AREA)

Abstract

소거된 스피치 프레임을 복원하는 방법이 설명된다. 제 2 스피치 프레임이 버퍼로부터 수신된다. 제 2 스피치 프레임의 인덱스 위치는 소거된 스피치 프레임의 인덱스 위치보다 크다. 이용할 패킷 손실 은닉 (PLC) 방법의 타입은 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방에 기초하여 결정된다. 제 3 스피치 프레임의 인덱스 위치는 소거된 스피치 프레임의 인덱스 위치보다 작다. 소거된 스피치 프레임은 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방으로부터 복원된다.

Description

소거된 스피치 프레임을 복원하는 시스템 및 방법{SYSTEMS AND METHODS FOR RECONSTRUCTING AN ERASED SPEECH FRAME}
본 시스템 및 방법은 통신 및 무선 관련 기술들에 관한 것이다. 특히, 본 시스템 및 방법은 소거된 스피치 프레임을 복원하는 시스템 및 방법에 관한 것이다.
디지털 음성 통신은 회로 교환 네트워크를 통해 수행되고 있다. 회로 교환 네트워크는, 호의 지속기간 동안 물리적 경로가 2 개의 단말기들 사이에 확립되는 네트워크이다. 회로 교환 애플리케이션에서는, 송신 단말기가 음성 정보를 포함하는 패킷들의 시퀀스를 물리적 경로를 통해 수신 단말기로 전송한다. 수신 단말기는 그 패킷들에 포함된 음성 정보를 이용하여 스피치를 합성한다.
디지털 음성 통신은 패킷 교환 네트워크를 통해 수행되기 시작하였다. 패킷 교환 네트워크는, 수신지 어드레스에 기초하여 패킷들이 네트워크를 통해 라우팅되는 네트워크이다. 패킷 교환 통신의 경우, 라우터들은 각각의 패킷에 대한 경로를 개별적으로 결정하여, 그의 수신지에 도달하도록 각각의 패킷을 임의의 이용가능한 경로로 전송한다. 그 결과, 패킷들은 수신 단말기에 동시에 또는 동일한 순서로 도달하지 않는다. 수신 단말기에서는, 패킷들을 순서대로 되돌려, 연속적인 순차 방식으로 그 패킷들을 재생 (play out) 하기 위해 디지터 버퍼 (de-jitter buffer) 가 이용될 수도 있다.
일부 경우에, 송신 단말기로부터 수신 단말기로의 수송 중에 패킷이 손실된다. 손실된 패킷은 합성된 스피치의 품질을 열화시킬 수도 있다. 이로써, 손실된 패킷을 복원하는 시스템 및 방법을 제공함으로써 이익들이 실현될 수도 있다.
도 1 은 송신 매체를 통한 송신 단말기와 수신 단말기의 일 예를 예시한 블록도이다.
도 2 는 수신 단말기의 추가 구성을 예시한 블록도이다.
도 3 은 향상된 패킷 손실 은닉 (packet loss concealment; PLC) 모듈을 가진 수신 단말기의 일 구성을 예시한 블록도이다.
도 4 는 향후 프레임 (future frame) 을 이용하여 스피치 프레임을 복원하는 방법의 일 예를 예시한 흐름도이다.
도 5 는 도 4 에 도시된 방법에 대응하는 기능식 블록들 (means plus function blocks) 을 예시한 도면이다.
도 6 은 스피치 프레임의 손실을 은닉하는 방법의 추가 구성을 예시한 흐름도이다.
도 7 은 스피치 프레임의 손실을 은닉하는 방법의 추가 예를 예시한 흐름도이다.
도 8 은 무선 디바이스에서 이용될 수도 있는 다양한 컴포넌트들을 예시한 도면이다.
음성 애플리케이션은 패킷 교환 네트워크에서 구현될 수도 있다. 음성 정보를 가진 패킷들은 네트워크 상에서 제 1 디바이스로부터 제 2 디바이스로 송신될 수도 있다. 그러나, 그 패킷들 중 일부가 패킷들의 송신 중에 손실될 수도 있다. 일 구성 (configuration) 에서, 음성 정보 (즉, 스피치) 가 스피치 프레임들로 조직화될 수도 있다. 일 패킷은 하나 이상의 스피치 프레임들을 포함할 수도 있다. 각각의 스피치 프레임은 서브-프레임들로 더욱 파티셔닝될 수도 있다. 이들 임의의 프레임 경계가 이용될 수도 있고 거기에서 일부 블록 프로세싱이 수행된다. 그러나, 스피치 샘플들은, 블록 프로세싱이 아닌 연속적인 프로세싱이 구현된다면 프레임들 (및 서브-프레임들) 로 파티셔닝되지 않을 수도 있다. 다중 스피치 프레임들의 손실 (때로는 버스티 손실 (bursty loss) 이라 지칭) 은, 수신 디바이스에서의 인지된 스피치 품질의 열화의 원인이 될 수도 있다. 상기 설명된 예들에서, 제 1 디바이스로부터 제 2 디바이스로 송신된 각각의 패킷은 특정 애플리케이션 및 전반적인 설계 제약에 따라 하나 이상의 프레임들을 포함할 수도 있다.
데이터 애플리케이션들은 회로 교환 네트워크에서 구현될 수도 있고, 데이터를 가진 패킷들은 네트워크 상에서 제 1 디바이스로부터 제 2 디바이스로 송신될 수도 있다. 데이터 패킷들은 또한 데이터의 송신 중에 손실될 수도 있다. 회로 교환 시스템에서 데이터 패킷 내의 프레임의 손실을 은닉하는 종래의 방식은, 일부 감쇠를 가진 이전 프레임으로부터의 외삽 (extrapolation) 을 통하여 손실된 프레임의 파라미터들을 복원하는 것이다. 종래의 시스템들에 이용되는 패킷 (또는 프레임) 손실 은닉 스킴들은 종래의 패킷 손실 은닉 (conventional packet loss concealment; PLC) 이라 지칭될 수도 있다. 외삽은 손실된 프레임을 복원하기 위하여 이전 프레임의 프레임 파라미터들 또는 피치 파형 (pitch waveform) 을 이용하는 것을 포함할 수도 있다. 패킷 교환 네트워크 (즉, VoIP (Voice over Internet Protocol)) 에서의 음성 통신의 이용이 증가하고 있지만, 회로 교환 네트워크에서 이용되는 종래의 PLC 가 또한 패킷 교환 네트워크에서의 패킷 손실 은닉 스킴들을 구현하는데 이용된다.
안정된 유성음 구간 (voiced region) 에서 단일 프레임 손실이 있을 때에는 종래의 PLC 가 합리적으로 잘 작동하지만, 그 종래의 PLC 는 전이 프레임 (transition frame) 의 손실을 은닉하기에 적합하지 않을 수도 있다. 또한, 종래의 PLC 는 버스티 프레임 손실의 경우에도 잘 작동하지 않을 수도 있다. 그러나, 패킷 교환 네트워크에서는, 높은 링크 로드 및 높은 지터와 같은 다양한 이유들로 인해, 패킷 손실이 버스티일 수도 있다. 예를 들어, 3 개 이상의 연속되는 패킷들이 패킷 교환 네트워크에서 손실될 수도 있다. 이 상황에서, 종래의 PLC 접근법은 사용자들에게 합리적으로 양호한 지각적 품질 (perceptual quality) 을 제공하기에 충분히 견고 (robust) 하지 않을 수도 있다.
패킷 교환 네트워크에서 개선된 지각적 품질을 제공하기 위해, 향상된 패킷 손실 은닉 스킴이 이용될 수도 있다. 이 향상된 패킷 손실 은닉 스킴은 향후 프레임 (future frame) 들을 이용하는 향상된 PLC 알고리즘이라 지칭될 수도 있다. 향상된 PLC 알고리즘은 (디지터 버퍼에 저장되는) 향후 프레임을 이용하여 손실된 패킷의 파라미터들 중 일부 또는 전부를 보간할 수도 있다. 일 예에서, 향상된 PLC 알고리즘은 시스템 용량에 영향을 미치지 않고 인지된 스피치 품질을 개선시킬 수도 있다. 이하 설명되는 본 시스템 및 방법은 다수의 타입의 스피치 코덱에 이용될 수도 있다.
소거된 스피치 프레임을 복원하는 방법이 개시된다. 이 방법은 버퍼로부터 제 2 스피치 프레임을 수신하는 단계를 포함할 수도 있다. 제 2 스피치 프레임의 인덱스 위치는 소거된 스피치 프레임의 인덱스 위치보다 클 수도 있다. 이 방법은 또한 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방에 기초하여 어느 타입의 패킷 손실 은닉 (PLC) 방법을 이용할지를 결정하는 단계를 포함할 수도 있다. 제 3 스피치 프레임의 인덱스 위치는 소거된 스피치 프레임의 인덱스 위치보다 작을 수도 있다. 이 방법은 또한 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방으로부터 소거된 스피치 프레임을 복원하는 단계를 포함할 수도 있다.
소거된 스피치 프레임을 복원하는 무선 디바이스가 개시된다. 무선 디바이스는 스피치 프레임들의 시퀀스를 수신하도록 구성된 버퍼를 포함할 수도 있다. 무선 디바이스는 또한 스피치 프레임들의 시퀀스를 디코딩하도록 구성된 음성 디코더를 포함할 수도 있다. 음성 디코더는 다음의 타입들, 즉 후속 프레임들 (subsequent frames) 과 이전 프레임들 (previous frames) 중 일방의 하나 이상의 프레임들로부터 소거된 스피치 프레임을 복원하도록 구성된 프레임 소거 은닉 모듈 (frame erasure concealment module) 을 포함할 수도 있다. 후속 프레임들은 버퍼에서 소거된 스피치 프레임의 인덱스 위치보다 큰 인덱스 위치를 포함할 수도 있다. 이전 프레임들은 버퍼에서 소거된 스피치 프레임의 인덱스 위치보다 작은 인덱스 위치를 포함할 수도 있다.
소거된 스피치 프레임을 복원하는 장치가 개시된다. 이 장치는 버퍼로부터 제 2 스피치 프레임을 수신하는 수단을 포함할 수도 있다. 제 2 스피치 프레임의 인덱스 위치는 소거된 스피치 프레임의 인덱스 위치보다 클 수도 있다. 이 장치는 또한 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방에 기초하여 어느 타입의 패킷 손실 은닉 (PLC) 방법을 이용할지를 결정하는 수단을 포함할 수도 있다. 제 3 스피치 프레임의 인덱스 위치는 소거된 스피치 프레임의 인덱스 위치보다 작을 수도 있다. 이 장치는 또한 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방으로부터 소거된 스피치 프레임을 복원하는 수단을 포함할 수도 있다.
소거된 스피치 프레임을 복원하기 위한 컴퓨터 프로그램 제품이 개시된다. 컴퓨터 프로그램 제품은 명령들을 가지고 있는 컴퓨터 판독가능 매체를 포함할 수도 있다. 명령들은 버퍼로부터 제 2 스피치 프레임을 수신하기 위한 코드를 포함할 수도 있다. 제 2 스피치 프레임의 인덱스 위치는 소거된 스피치 프레임의 인덱스 위치보다 클 수도 있다. 명령들은 또한 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방에 기초하여 어느 타입의 패킷 손실 은닉 (PLC) 방법을 이용할지를 결정하기 위한 코드를 포함할 수도 있다. 제 3 스피치 프레임의 인덱스 위치는 소거된 스피치 프레임의 인덱스 위치보다 작을 수도 있다. 명령들은 또한 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방으로부터 소거된 스피치 프레임을 복원하기 위한 코드를 포함할 수도 있다.
도 1 은 송신 매체를 통한 송신 단말기 (102) 및 수신 단말기 (104) 의 일 예를 예시한 블록도 (100) 이다. 송신 단말기 (102) 및 수신 단말기 (104) 는 전화기, 컴퓨터, 오디오 브로드캐스트 및 수신 장비, 비디오 회의 장비 등을 포함하는 음성 통신의 지원이 가능한 임의의 디바이스들일 수도 있다. 일 구성에서, 송신 단말기 (102) 및 수신 단말기 (104) 는 코드 분할 다중 액세스 (CDMA) 능력과 같은 무선 다중 액세스 기술로 구현될 수도 있다. CDMA 는 대역 확산 (spread-spectrum) 통신에 기초한 변조 및 다중 액세스 스킴이다.
송신 단말기 (102) 는 음성 인코더 (106) 를 포함할 수도 있고, 수신 단말기 (104) 는 음성 디코더 (108) 를 포함할 수도 있다. 음성 인코더 (106) 는 인간의 스피치 생성의 모델에 기초하여 파라미터들을 추출함으로써 제 1 사용자 인터페이스 (110) 로부터의 스피치를 압축하는데 이용될 수도 있다. 송신기 (112) 는 이들 파라미터들을 포함하는 패킷들을 송신 매체 (114) 를 통해 송신하는데 이용될 수도 있다. 송신 매체 (114) 는 인터넷 또는 기업 인트라넷과 같은 패킷 기반 네트워크, 또는 임의의 다른 송신 매체일 수도 있다. 송신 매체 (114) 의 타단의 수신기 (116) 는 패킷들을 수신하는데 이용될 수도 있다. 음성 디코더 (108) 는 그 패킷들 내의 파라미터들을 이용하여 스피치를 합성할 수도 있다. 합성된 스피치는 수신 단말기 (104) 상에서 제 2 사용자 인터페이스 (118) 에 제공될 수도 있다. 도시하고 있지는 않지만, 순환 중복 검사 (cyclic redundancy check; CRC) 기능들을 포함하는 컨볼루션 인코딩, 인터리빙, 디지털 변조, 확산 스펙트럼 프로세싱, 지터 버퍼링 등과 같은 다양한 신호 프로세싱 기능들이 송신기 (112) 와 수신기 (116) 양방에서 수행될 수도 있다.
각각의 통신 당사자는 수신할 수 있을 뿐만 아니라 송신할 수도 있다. 각각의 단말기는 음성 인코더 및 디코더를 포함할 수도 있다. 음성 인코더 및 디코더는 별개의 디바이스들일 수도 있고 또는 "보코더" 로 알려져 있는 단일 디바이스 내에 통합될 수도 있다. 다음의 상세한 설명에서는, 음성 인코더 (106) 를 송신 매체 (114) 의 일단에 갖고 음성 디코더 (108) 를 타단에 갖는 단말기들 (102, 104) 이 설명될 것이다.
송신 단말기 (102) 의 적어도 일 구성에서, 스피치는 프레임 단위로 (in frames) 제 1 사용자 인터페이스 (110) 로부터 음성 인코더 (106) 로 입력될 수도 있으며, 각각의 프레임은 서브-프레임들로 더욱 파티셔닝된다. 이들 임의의 프레임 경계가 이용될 수도 있고 거기에서 일부 블록 프로세싱이 수행된다. 그러나, 스피치 샘플들은, 블록 프로세싱이 아닌 연속적인 프로세싱이 수행된다면 프레임들 (및 서브-프레임들) 로 파티셔닝되지 않을 수도 있다. 상기 설명된 예들에서, 송신 매체 (114) 를 통해 송신된 각각의 패킷은 특정 애플리케이션 및 전반적인 설계 제약에 따라 하나 이상의 프레임들을 포함할 수도 있다.
음성 인코더 (106) 는 가변 레이트 또는 고정 레이트 인코더일 수도 있다. 가변 레이트 인코더는 스피치 컨텐츠에 따라, 프레임 간의 다중 인코더 모드들 사이에서 동적으로 스위칭할 수도 있다. 음성 디코더 (108) 는 또한 프레임 간의 대응하는 디코더 모드들 사이에서 동적으로 스위칭할 수도 있다. 수신 단말기 (104) 에서 허용가능한 신호 재생 (signal reproduction) 을 유지하면서 이용가능한 가장 낮은 비트 레이트를 달성하기 위해 특정 모드가 각각의 프레임에 대해 선정될 수도 있다. 일 예로, 액티브 스피치는 액티브 스피치 프레임들에 대한 코딩 모드들을 이용하여 인코딩될 수도 있다. 배경 잡음은 묵음 프레임들 (silence frames) 에 대한 코딩 모드들을 이용하여 인코딩될 수도 있다.
음성 인코더 (106) 및 디코더 (108) 는 선형 예측 코딩 (Linear Predictive Coding; LPC) 을 이용할 수도 있다. LPC 인코딩의 경우, 스피치는 스피치 소스 (성대 (vocal cords)) 에 의해 모델링될 수도 있으며, 이것은 그 강도 및 피치를 특징으로 한다. 성대로부터의 스피치는 성도 (vocal tract) (인후 및 구강) 를 통과하며, 이것은 그 공명 (resonance) ("포먼트 (formants)" 라 불림) 을 특징으로 한다. LPC 음성 인코더는 포먼트를 추정하고, 그들의 영향을 스피치로부터 제거하며, 잔여 스피치의 강도 및 피치를 추정함으로써 스피치를 분석할 수도 있다. 수신단의 LPC 음성 디코더는 프로세스를 반전시킴으로써 스피치를 합성할 수도 있다. 특히, LPC 음성 디코더는 잔여 스피치를 이용하여 스피치 소스를 생성하고, 포먼트를 이용하여 필터 (성도를 나타낸다) 를 생성하며, 스피치 소스를 필터를 통하여 움직이게 하여 스피치를 합성할 수도 있다.
도 2 는 수신 단말기 (204) 의 블록도이다. 이 구성에서, VoIP 클라이언트 (230) 는 보다 완전하게 후술될 디지터 버퍼 (202) 를 포함한다. 또한, 수신 단말기 (204) 는 하나 이상의 음성 디코더들 (208) 을 포함한다. 일 예에서, 수신 단말기 (204) 는 LPC 기반 디코더 및 2 개의 다른 타입의 코덱 (예를 들어, 유성음 스피치 코딩 스킴 및 무성음 (unvoiced) 스피치 코딩 스킴) 을 포함할 수도 있다. 음성 디코더 (208) 는 프레임 에러 검출기 (226), 프레임 소거 은닉 모듈 (206) 및 스피치 생성기 (232) 를 포함할 수도 있다. 음성 디코더 (208) 는 보코더의 일부로서, 스탠드 얼론 (stand-alone) 엔티티로서 구현될 수도 있고, 또는 수신 단말기 (204) 내의 하나 이상의 엔티티들에 걸쳐 분포될 수도 있다. 음성 디코더 (208) 는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합으로서 구현될 수도 있다. 일 예로, 음성 디코더 (208) 는 마이크로프로세서, 디지털 신호 프로세서 (DSP), 프로그램가능한 로직, 전용 하드웨어 또는 임의의 다른 하드웨어 및/또는 소프트웨어 기반 프로세싱 엔티티로 구현될 수도 있다. 음성 디코더 (208) 는 그 기능성의 관점에서 후술될 것이다. 그것이 구현되는 방식은 전반적인 시스템에 부과된 특정 애플리케이션 및 설계 제약에 의존할 수도 있다.
디지터 버퍼 (202) 는 네트워크 혼잡, 타이밍 드리프트, 및 루트 변경으로 인한 패킷 도달 시간의 변동으로 인해 야기되는 지터를 제거하는 하드웨어 디바이스 또는 소프트웨어 프로세스일 수도 있다. 디지터 버퍼 (202) 는 음성 패킷들에서 스피치 프레임들 (242) 을 수신할 수도 있다. 또한, 디지터 버퍼 (202) 는, 정확한 순서대로, 최근에 도달된 패킷들이 계속해서 스피치 생성기 (232) 에 제공될 수 있도록 새로 도달하는 패킷들을 지연시켜, 적은 오디오 왜곡을 가진 명확한 접속 (clear connection) 을 야기할 수도 있다. 디지터 버퍼 (202) 는 고정 또는 적응적일 수도 있다. 고정 디지터 버퍼는 패킷들에 고정 지연을 도입할 수도 있다. 한편, 적응적 디지터 버퍼는 네트워크의 지연의 변경에 적응시킬 수도 있다. 디지터 버퍼 (202) 는 후술되는 바와 같이, 프레임 소거 은닉 모듈 (206) 에 프레임 정보 (240) 를 제공할 수도 있다.
이전에 언급한 바와 같이, 순환 중복 검사 (CRC) 기능들을 포함하는 컨볼루션 인코딩, 인터리빙, 디지털 변조 및 대역 확산 프로세싱과 같은 다양한 신호 프로세싱 기능들이 송신 단말기 (102) 에 의해 수행될 수도 있다. 프레임 에러 검출기 (226) 는 CRC 검사 기능을 수행하는데 이용될 수도 있다. 대안으로, 또는 추가로, 검사합 (checksum) 및 패리티 비트 (parity bit) 를 포함하여 다른 프레임 에러 검출 기법들이 이용될 수도 있다. 일 예에서, 프레임 에러 검출기 (226) 는, 프레임 소거가 발생하였는지 여부를 결정할 수도 있다. "프레임 소거" 는, 프레임이 손실되었다는 것 또는 프레임이 손상되었다는 것 중 어느 하나를 의미할 수도 있다. 프레임 에러 검출기 (226) 가, 현재 프레임이 소거되지 않았다는 것을 결정한다면, 프레임 소거 은닉 모듈 (206) 은 디지터 버퍼 (202) 에 저장되었던 스피치 프레임들 (242) 을 해제 (release) 할 수도 있다. 스피치 프레임들 (242) 의 파라미터들은 프레임 소거 은닉 모듈 (206) 에 전달되는 프레임 정보 (240) 일 수도 있다. 프레임 정보 (240) 는 스피치 생성기 (232) 에 통신되고 그 스피치 생성기 (232) 에 의해 프로세싱될 수도 있다.
한편, 프레임 에러 검출기 (226) 가, 현재 프레임이 소거되었다는 것을 결정한다면, 그 프레임 에러 검출기 (226) 는 프레임 소거 은닉 모듈 (206) 에 "프레임 소거 플래그 (frame erasure flag)" 를 제공할 수도 있다. 후에 더 상세하게 설명되는 방식으로, 프레임 소거 은닉 모듈 (206) 은 소거된 프레임에 대한 음성 파라미터들을 복원하는데 이용될 수도 있다.
음성 파라미터들은, 디지터 버퍼 (202) 로부터 해제되든 프레임 소거 은닉 모듈 (206) 에 의해 복원되든 간에, 합성된 스피치 (244) 를 생성하기 위해 스피치 생성기 (232) 에 제공될 수도 있다. 스피치 생성기 (232) 는 합성된 스피치 (244) 를 생성하기 위하여 여러 기능들을 포함할 수도 있다. 일 예에서, 역코드북 (inverse codebook) (212) 은 고정 코드북 파라미터들 (238) 을 이용할 수도 있다. 예를 들어, 역코드북 (212) 은 고정 코드북 인덱스들을 잔여 스피치로 변환하고 고정 코드북 이득을 그 잔여 스피치에 적용하는데 이용될 수도 있다. 피치 정보가 잔여 스피치에 다시 가산될 수도 있다 (218). 피치 정보는 피치 디코더 (214) 에 의해 "지연 (delay)" 으로부터 컴퓨팅될 수도 있다. 피치 디코더 (214) 는 스피치 샘플들의 이전 프레임을 생성한 정보의 메모리일 수도 있다. 적응적 코드북 이득과 같은 적응적 코드북 파라미터들 (236) 은 잔여 스피치에 가산 (218) 되기 전에 피치 디코더 (214) 에 의해 각각의 서브-프레임 내의 메모리 정보에 적용될 수도 있다. 잔여 스피치는 역변환 (222) 으로부터의 LPC 계수와 같이, 선 스펙트럼 쌍들 (234) 을 이용하여 필터 (220) 를 통과하게 되어, 스피치에 포먼트를 가산할 수도 있다. 그 후, 원시 합성된 스피치는 필터 (220) 로부터 포스트-필터 (224) 에 제공될 수도 있다. 포스트-필터 (224) 는 스피치를 평활화하고 대역외 컴포넌트들을 저감시킬 수도 있는 오디오 대역에서의 디지털 필터일 수도 있다. 다른 구성에서, 유성음 스피치 코딩 스킴들 (이를 테면 PPP) 및 무성음 스피치 코딩 스킴들 (이를 테면 NELP) 은 프레임 소거 은닉 모듈 (206) 에 의해 구현될 수도 있다.
프레임 소거 은닉 프로세스의 품질은 음성 파라미터들의 복원 시에 정확하게 개선된다. 프레임들의 스피치 컨텐츠가 더 높을 때 복원된 스피치 파라미터들에 있어서 더 큰 정확성이 달성될 수도 있다. 일 예에서, 묵음 프레임들은 스피치 컨텐츠를 포함하지 않을 수도 있기 때문에, 어떠한 음성 품질 이득도 제공하지 않을 수도 있다. 따라서, 음성 디코더 (208) 의 적어도 일 구성에서, 향후 프레임 내의 음성 파라미터들은, 프레임 레이트가 음성 품질 이득을 달성하기에 충분히 높은 경우에 이용될 수도 있다. 일 예로, 음성 디코더 (208) 는, 이전 프레임과 향후 프레임 양방이 묵음 인코딩 모드가 아닌 모드에서 인코딩된다면, 이전 프레임과 향후 프레임 양방 내의 음성 파라미터들을 이용하여 소거된 프레임 내의 음성 파라미터들을 복원할 수도 있다. 즉, 향상된 패킷 손실 은닉은, 이전 프레임과 향후 프레임 양방이 액티브 스피치 코딩 모드에서 인코딩될 때 이용될 것이다. 그렇지 않다면, 소거된 프레임 내의 음성 파라미터들은 이전 프레임으로부터 복원될 수도 있다. 이 접근법은, 음성 품질 이득의 가능성이 낮을 때 프레임 소거 은닉 프로세스의 복잡도를 저감시킨다. (이하 더 완전히 언급되는) 프레임 에러 검출기 (226) 로부터의 "레이트 결정 (rate decision)" 은 프레임 소거의 이전 프레임과 향후 프레임에 대한 인코딩 모드를 나타내는데 이용될 수도 있다. 다른 구성에서, 2 개 이상의 향후 프레임들은 버퍼 내에 존재할 수도 있다. 2 개 이상의 향후 프레임들이 버퍼 내에 존재할 때, 더 낮은 레이트 프레임보다 더 높은 레이트 프레임이 소거된 프레임으로부터 더 멀리 떨어져 있는 경우라도, 더 높은 레이트 프레임이 선정될 수도 있다.
도 3 은 본 시스템 및 방법에 따라 향상된 패킷 손실 은닉 (PLC) 모듈 (306) 을 가진 수신 단말기 (304) 의 일 구성을 예시한 블록도이다. 수신 단말기 (304) 는 VoIP 클라이언트 (330) 및 디코더 (308) 를 포함할 수도 있다. VoIP 클라이언트 (330) 는 디지터 버퍼 (302) 를 포함할 수도 있고, 디코더 (308) 는 향상된 PLC 모듈 (306) 을 포함할 수도 있다. 디지터 버퍼 (302) 는 VoIP 클라이언트 (330) 에 의해 수신된 하나 이상의 스피치 프레임들을 버퍼링할 수도 있다.
일 예에서, VoIP 클라이언트 (330) 는 실시간 프로토콜 (real-time protocol; RTP) 패킷들을 수신한다. 실시간 프로토콜 (RTP) 은 인터넷과 같이, 네트워크의 오디오 및 비디오를 전달하기 위한 표준형 패킷 포맷을 정의한다. 일 구성에서, VoIP 클라이언트 (330) 는 수신된 RTP 패킷들을 스피치 프레임들로 디캡슐화할 수도 있다. 또한, VoIP 클라이언트 (330) 는 디지터 버퍼 (302) 내의 스피치 프레임들을 재정리할 수도 있다. 또한, VoIP 클라이언트 (330) 는 디코더 (308) 에 적절한 스피치 프레임을 공급할 수도 있다. 일 구성에서, 디코더 (308) 는 특정 스피치 프레임에 대한 요청을 VoIP 클라이언트 (330) 에 제공한다. VoIP 클라이언트 (330) 는 또한 디코더 (308) 로부터 디코딩된 다수의 펄스 코딩된 변조 (pulse coded modulation; PCM) 샘플들 (312) 을 수신할 수도 있다. 일 예에서, VoIP 클라이언트 (330) 는 PCM 샘플들 (312) 에 의해 제공된 정보를 이용하여 디지터 버퍼 (302) 의 거동 (behavior) 을 조정할 수도 있다.
일 구성에서, 디지터 버퍼 (302) 는 스피치 프레임들을 저장한다. 버퍼 (302) 는 이전 스피치 프레임 (312), 현재 스피치 프레임 (322) 및 하나 이상의 향후 스피치 프레임들 (310) 을 저장할 수도 있다. 이전에 언급한 바와 같이, VoIP 클라이언트 (330) 는 순서에 상관없이 패킷들을 수신할 수도 있다. 디지터 버퍼 (302) 는 패킷들의 스피치 프레임들을 저장하여 정확한 순서로 재정리하는데 이용될 수도 있다. 스피치 프레임이 소거된다면 (예를 들어, 프레임 소거), 디지터 버퍼 (302) 는 하나 이상의 향후 프레임들 (즉, 소거된 프레임 다음에 나오는 프레임들) 을 포함할 수도 있다. 일 프레임은 그 프레임과 관련된 인덱스 위치를 가질 수도 있다. 예를 들어, 향후 프레임 (310) 은 현재 프레임 (322) 보다 더 높은 인덱스 위치를 가질 수도 있다. 마찬가지로, 현재 프레임 (322) 은 이전 프레임 (321) 보다 더 높은 인덱스 위치를 가질 수도 있다.
상기 언급한 바와 같이, 디코더 (308) 는 향상된 PLC 모듈 (306) 을 포함할 수도 있다. 일 구성에서, 디코더 (308) 는 비광대역 (non-wideband) 스피치 코덱 또는 광대역 스피치 코덱 디코더일 수도 있다. 향상된 PLC 모듈 (306) 은 프레임 소거가 발생하고 적어도 하나의 향후 프레임 (310) 이 이용가능할 때 보간-기반 패킷 손실 은닉 기법들을 이용하여 소거된 프레임을 복원할 수도 있다. 2 개 이상의 향후 프레임 (310) 이 이용가능하다면, 보다 정확한 향후 프레임이 선택될 수도 있다. 일 구성에서, 향후 프레임의 더 높은 정확성은 더 높은 비트 레이트로 나타내질 수도 있다. 대안으로, 향후 프레임의 더 높은 정확성은 프레임의 시간 접근성 (temporal closeness) 으로 나타내질 수도 있다. 일 예에서, 스피치 프레임이 소거되는 경우, 그 프레임은 의미있는 데이터 (meaningful data) 를 포함하지 않을 수도 있다. 예를 들어, 현재 프레임 (322) 은 소거된 스피치 프레임을 나타낼 수도 있다. 현재 프레임 (322) 은, 디코더 (308) 가 현재 프레임 (322) 을 적절히 디코딩할 수 있게 하는 데이터를 현재 프레임 (322) 이 포함하지 않을 수도 있기 때문에, 소거된 프레임인 것으로 간주될 수도 있다. 프레임 소거가 발생하고, 적어도 하나의 향후 프레임 (310) 이 버퍼 (302) 에서 이용가능한 경우, VoIP 클라이언트 (330) 는 향후 프레임 (310) 및 임의의 관련 정보를 디코더 (308) 로 전송할 수도 있다. 그 관련 정보는 의미없는 데이터를 포함하는 현재 프레임 (322) 일 수도 있다. 관련 정보는 또한 현재 소거된 프레임과 이용가능한 향후 프레임 사이에 상대적인 갭을 포함할 수도 있다. 일 예에서, 향상된 PLC 모듈 (306) 은 향후 프레임 (310) 을 이용하여 현재 프레임 (322) 을 복원할 수도 있다. 스피치 프레임들이 PCM 데이터 (320) 로서 오디오 인터페이스 (318) 에 통신될 수도 있다.
향상된 PLC 능력 없는 시스템에서, VoIP 클라이언트 (330) 는 현재 프레임 (322), 현재 프레임 (322) 의 레이트, 및 페이즈 매칭을 행할지 여부 및 시간 와핑 (warping) 을 행할지 여부와 행하는 방법과 같은 다른 관련 정보를 전송함으로써 스피치 디코더 (308) 와 인터페이스할 수도 있다. 소거가 일어나면, 현재 프레임 (322) 의 레이트는, 디코더 (308) 로 전송할 때, 프레임 소거와 같이, 소정의 값으로 설정될 수도 있다. 향상된 PLC 기능성이 가능하면, VoIP 클라이언트 (330) 는 또한 향후 프레임 (310), 향후 프레임 (310) 의 레이트, 및 갭 표시자 (이하 더욱 설명됨) 를 디코더 (308) 로 전송할 수도 있다.
도 4 는 향후 프레임을 이용하여 스피치 프레임을 복원하는 방법 (400) 의 일 예를 예시한 흐름도이다. 이 방법 (400) 은 향상된 PLC 모듈 (306) 에 의해 구현될 수도 있다. 일 구성에서, 표시자가 수신될 수도 있다 (402). 그 표시자는 제 1 프레임의 인덱스 위치와 제 2 프레임의 인덱스 위치 사이의 차이를 나타낼 수도 있다. 예를 들어, 제 1 프레임은 "4" 의 인덱스 위치를 가질 수도 있고, 제 2 프레임은 "7" 의 인덱스 위치를 가질 수도 있다. 이 예로부터, 표시자는 "3" 일 수도 있다.
일 예에서, 제 2 프레임이 수신될 수도 있다 (404). 제 2 프레임은 제 1 프레임보다 큰 인덱스 위치를 가질 수도 있다. 즉, 제 2 프레임은 제 1 프레임의 플레이백 (playback) 에 후속하는 시간에 플레이백될 수도 있다. 또한, 제 2 프레임에 대한 프레임 레이트가 수신될 수도 있다 (406). 그 프레임 레이트는, 인코더가 제 2 프레임을 인코딩하는데 이용한 레이트를 나타낼 수도 있다. 프레임 레이트에 관해서는 이하 더 상세하게 설명될 것이다.
일 구성에서, 제 1 프레임의 파라미터가 보간될 수도 있다 (408). 파라미터는 제 2 프레임의 파라미터 및 제 3 프레임의 파라미터를 이용하여 보간될 수도 있다. 제 3 프레임은 제 1 프레임 및 제 2 프레임보다 작은 인덱스 위치를 포함할 수도 있다. 즉, 제 3 프레임은, 제 3 프레임이 현재 프레임 및 향후 프레임의 플레이백 전에 플레이백된다는 점에서 "이전 프레임 (previous frame)" 인 것으로 간주될 수도 있다.
상술된 도 4 의 방법은 도 5 에 예시되는 기능식 블록들 (means-plus-function blocks) 에 대응하는 다양한 하드웨어 및/또는 소프트웨어 컴포넌트(들) 및/또는 모듈(들)에 의해 수행될 수도 있다. 즉, 도 4 에 예시된 블록 (402) 내지 블록 (408) 은 도 5 에 예시된 기능성 블록 (502) 내지 기능식 블록 (508) 에 대응한다.
도 6 은 패킷 내의 스피치 프레임의 손실을 은닉하는 방법 (600) 의 추가 구성을 예시한 흐름도이다. 이 방법은 수신 단말기 (104) 의 디코더 (608) 내의 향상된 PLC 모듈 (606) 에 의해 구현될 수도 있다. 디코더 (608) 에 의해 현재 프레임 레이트 (612) 가 수신될 수도 있다. 현재 프레임 (620) 이 소거된다는 것을 나타내는 소정의 값을 현재 프레임 레이트 (612) 가 포함하는지 여부에 대해 결정 (602) 이 행해진다. 일 예에서, 상기 결정 (602) 은 현재 프레임 레이트 (612) 가 프레임 소거 값과 같은지 여부에 대해 행해질 수도 있다. 현재 프레임 레이트 (612) 가 프레임 소거 값과 같지 않다는 것으로 결정된다면 (602), 현재 프레임 (620) 은 디코딩 모듈 (618) 로 통신된다. 디코딩 모듈 (618) 은 현재 프레임 (620) 을 디코딩할 수도 있다.
그러나, 현재 프레임이 소거되는 것을 현재 프레임 레이트 (612) 가 제안한다면, 갭 표시자 (622) 가 디코더 (608) 로 통신된다. 향후 프레임 (610) 과 현재 프레임 (620) (즉, 소거된 프레임) 의 프레임 인덱스들 간의 차이를 나타내는 갭 표시자 (622) 는 가변적일 수도 있다. 예를 들어, 현재 소거된 프레임 (620) 이 패킷 내의 100 번째 프레임이고 향후 프레임 (610) 이 패킷 내의 103 번째 프레임이라면, 갭 표시자 (622) 는 3 과 같을 수도 있다. 갭 표시자 (622) 가 소정의 임계값보다 큰지 여부에 대한 결정 (604) 이 행해질 수도 있다. 갭 표시자 (622) 가 소정의 임계값보다 크지 않다면, 이것은 어떠한 향후 프레임들도 디지터 버퍼 (202) 에서 이용가능하지 않다는 것을 의미할 수도 있다. 종래의 PLC 모듈 (614) 이 상기 언급된 기법들을 이용하여 현재 프레임 (620) 을 복원하는데 이용될 수도 있다.
일 예에서, 갭 표시자 (622) 가 0 보다 크다면, 이것은 향후 프레임 (610) 이 디지터 버퍼 (202) 에서 이용가능하다는 것을 의미할 수도 있다. 이전에 언급한 바와 같이, 향후 프레임 (610) 은 현재 프레임 (620) 의 소거된 파라미터들을 복원하는데 이용될 수도 있다. 향후 프레임 (610) 은 디지터 버퍼 (202) (미도시) 로부터 향상된 PLC 모듈 (606) 로 전달될 수도 있다. 또한, 향후 프레임 (610) 과 관련된 향후 프레임 레이트 (616) 가 또한 향상된 PLC 모듈 (606) 로 전달될 수도 있다. 향후 프레임 레이트 (616) 는 향후 프레임 (610) 의 레이트 또는 프레임 타입을 나타낼 수도 있다. 예를 들어, 향후 프레임 레이트 (616) 는, 향후 프레임이 액티브 스피치 프레임들에 대한 코딩 모드를 이용하여 인코딩되었다는 것을 나타낼 수도 있다. 향상된 PLC 모듈 (606) 은 향후 프레임 (610) 및 이전 프레임을 이용하여 현재 프레임 (620) 의 소거된 파라미터들을 복원할 수도 있다. 일 프레임은, 인덱스 위치가 현재 프레임 (620) 의 인덱스 위치보다 낮을 수도 있기 때문에 이전 프레임일 수도 있다. 즉, 이전 프레임은 현재 프레임 (620) 전에 디지터 버퍼 (202) 로부터 해제된다.
도 7 은 패킷 내의 스피치 프레임의 손실을 은닉하는 방법 (700) 의 추가 예를 예시한 흐름도이다. 일 예에서, 현재 소거된 프레임은 패킷 내의 n 번째 프레임일 수도 있다. 향후 프레임 (710) 은 (n+m) 번째 프레임일 수도 있다. 현재 소거된 프레임과 향후 프레임 (710) 의 인덱스 위치 간의 차이를 나타내는 갭 표시자 (708) 는 m 일 수도 있다. 일 구성에서, 소거된 n 번째 프레임을 복원하기 위한 보간이 이전 프레임 ((n-1) 번째 프레임) 과 향후 프레임 (710) (즉, (n+m) 번째 프레임) 사이에서 수행될 수도 있다.
일 예에서, 향후 프레임 (710) 이 "부정 레이트 (bad-rate)" 를 포함하는지 여부에 대한 결정 (702) 이 행해진다. 송신 중에 데이터 손상 (corruption) 을 회피하기 위하여 부정 레이트 검출이 향후 프레임 (710) 에 대해 수행될 수도 있다. 향후 프레임 (710) 이 부정 레이트 검출 결정 (702) 을 통과하지 않은 것으로 결정된다면, 종래의 PLC 모듈 (714) 이 소거된 프레임의 파라미터들을 복원하는데 이용될 수도 있다. 종래의 PLC 모듈 (714) 은 소거된 프레임을 복원하기 위해 이전에 설명된 선행 기법들을 구현할 수도 있다.
향후 프레임 (710) 이 부정 레이트 검출 결정 (702) 을 통과했다면, 향후 프레임 내의 파라미터들은 역양자화 모듈 (706) 에 의해 역양자화될 수도 있다. 일 구성에서, 향상된 PLC 모듈에 의해, 소거된 프레임을 복원하는데 이용되지 않은 파라미터들은 역양자화되지 않을 수도 있다. 예를 들어, 향후 프레임 (710) 이 코드 여기 선형 예측 (code excited linear prediction; CELP) 프레임이라면, 고정 코드북 (fix-codebook) 인덱스가 향상된 PLC 모듈에 의해 이용되지 않을 수도 있다. 이로써, 고정 코드북 인덱스는 역양자화되지 않을 수도 있다.
향상된 PLC 모듈 (306) 을 포함하는 디코더 (108) 의 경우에, 프레임 소거가 발생할 때 구현될 수도 있는 상이한 타입의 패킷 손실 은닉 방법들이 존재할 수도 있다. 이들 상이한 방법들의 예로는 : 1) 종래의 PLC 방법, 2) 스펙트럼 포락선 (spectral envelope) 파라미터들을 결정하기 위한 방법, 이를 테면 선 스펙트럼 쌍 (line spectral pair; LSP)-향상된 PLC 방법, 선형 예측 계수들 (linear predictive coefficients; LPC) 방법, 이미턴스 스펙트럼 주파수들 (immittance spectral frequencies; ISF) 방법 등, 3) CELP-향상된 PLC 방법 및 4) 유성음 코딩 모드에 대한 향상된 PLC 방법을 들 수 있다.
일 예에서, 스펙트럼 포락선 파라미터들-향상된 PLC 방법은 소거된 프레임의 스펙트럼 포락선 파라미터들을 보간하는 것을 수반한다. 다른 파라미터들은 종래의 PLC 방법에 의해 수행되는 바와 같이, 외삽에 의해 추정될 수도 있다. CELP-향상된 PLC 방법에서, 미싱 (missing) 프레임의 여기 관련 파라미터들 중 일부 또는 전부가 또한 보간 알고리즘을 이용하여 CELP 프레임으로서 추정될 수도 있다. 유사하게, 유성음 스피치 코딩 스킴-향상된 PLC 방법에서, 소거된 프레임의 여기 관련 파라미터들 중 일부 또는 전부가 또한 보간 알고리즘을 이용하여 유성음 스피치 코딩 스킴 프레임으로서 추정될 수도 있다. 일 구성에서, CELP-향상된 PLC 방법 및 유성음 스피치 코딩 스킴-향상된 PLC 방법은 "다중 파라미터들-향상된 PLC 방법들" 로서 지칭될 수도 있다. 일반적으로, 다중 파라미터들-향상된 PLC 방법들은, 여기 관련 파라미터들 및/또는 스펙트럼 포락선 파라미터들 중 일부 또는 전부를 보간하는 것을 수반한다.
향후 프레임 (710) 의 파라미터들이 역양자화된 후에, 다중 파라미터들-향상된 PLC 방법들이 구현되는지 여부에 대한 결정 (732) 이 행해질 수도 있다. 이 결정 (732) 은 마음에 들지 않는 아티팩트들 (unpleasant artifacts) 을 회피하는데 이용된다. 이 결정 (732) 은 이전 프레임과 향후 프레임 양방의 타입들 및 레이트들에 기초하여 행해질 수도 있다. 이 결정 (732) 은 또한 이전 프레임과 향후 프레임 사이의 유사성에 기초하여 행해질 수도 있다. 유사성 표시자는 그들의 스펙트럼 포락선 파라미터들, 그들의 피치 래그들 (pitch lags) 또는 파형들에 기초하여 계산될 수도 있다.
다중 파라미터들-향상된 PLC 방법들의 신뢰성은, 안정된 짧은 스피치 세그먼트들이 프레임들 간에 존재하는 방법에 의존할 수도 있다. 예를 들어, 향후 프레임 (710) 과 이전 프레임 (720) 은 다중 파라미터들-향상된 PLC 방법들을 통해 신뢰가능한 복원된 프레임을 제공하도록 충분히 유사해야 한다. 향후 프레임 (710) 의 LPC 이득 대 이전 프레임 (720) 의 LPC 이득의 비율은 2 개의 프레임들 간의 유사성의 양호한 척도일 수도 있다. LPC 이득 비율이 너무 작거나 너무 크다면, 다중 파라미터들-향상된 PLC 방법을 이용하는 것이 아티팩트들을 가진 복원된 프레임을 야기할 수도 있다.
일 예에서, 프레임 내의 무성음 구간 (unvoiced regions) 은 사실상 랜덤인 경향이 있다. 이로써, 향상된 PLC 기반 방법은 버지 사운드 (buzzy sound) 를 생성하는 복원된 프레임을 야기할 수도 있다. 따라서, 이전 프레임 (720) 이 무성음 프레임인 경우에, 다중 파라미터들-향상된 PLC 방법들 (CELP-향상된 PLC 및 유성음 스피치 코딩 스킴-향상된 PLC) 은 이용되지 않을 수도 있다. 일 구성에서, 프레임의 특성들, 즉, 프레임이 유성음 프레임인지 무성음 프레임인지 여부를 결정하기 위해 일부 기준들이 이용될 수도 있다. 프레임을 분류하기 위한 기준들은 프레임 타입, 프레임 레이트, 제 1 반영 계수 (reflection coefficient), 제로 크로싱 레이트 등을 포함한다.
이전 프레임 (720) 과 향후 프레임 (710) 이 충분히 유사하지 않을 때, 또는 이전 프레임 (720) 이 무성음 프레임일 때, 다중 파라미터들-향상된 PLC 방법들은 이용되지 않을 수도 있다. 이들 경우에, 종래의 PLC 또는 스펙트럼 포락선 파라미터들-향상된 PLC 방법들이 이용될 수도 있다. 이들 방법들은 종래의 PLC 방법 (714) 및 LSP-향상된 PLC 모듈 (704) 과 같은 스펙트럼 포락선 파라미터들-향상된 PLC 모듈 (각각) 에 의해 구현될 수도 있다. 스펙트럼 포락선 파라미터들-향상된 PLC 방법은, 향후 프레임의 LPC 이득 대 이전 프레임의 LPC 이득의 비율이 매우 작을 때 선정될 수도 있다. 이러한 상황에서의 종래의 PLC 방법의 이용은 소거된 프레임과 다음의 양호한 프레임의 경계에서의 팝 아티팩트 (pop artifact) 의 원인이 될 수도 있다.
다중 파라미터들-향상된 PLC 방법들이 소거된 프레임의 파라미터들을 복원하는데 이용될 수도 있는 것으로 결정된다면 (732), 어느 타입의 향상된 PLC 방법 (CELP-향상된 PLC 또는 유성음 스피치 코딩 스킴-향상된 PLC) 이 이용되어야 하는지에 대한 결정 (722) 이 행해질 수도 있다. 종래의 PLC 방법 및 스펙트럼 포락선 파라미터들-향상된 PLC 방법의 경우, 복원된 프레임의 프레임 타입은 복원된 프레임 전의 이전 프레임과 동일하다. 그러나, 이것이 항상 다중 파라미터들-향상된 PLC 방법들의 경우인 것은 아니다. 이전 시스템들에 있어서, 현재 소거된 프레임을 은닉하는데 이용되는 코딩 모드는 이전 프레임의 코딩 모드와 동일하다. 그러나, 현재 시스템들 및 방법들에 있어서, 소거된 프레임에 대한 코딩 모드/타입은 이전 프레임 및 향후 프레임의 코딩 모드/타입과 상이할 수도 있다.
향후 프레임 (710) 이 정확하지 않을 때 (즉, 낮은 레이트 코딩 모드), 향후 프레임 (710) 은 향상된 PLC 방법을 수행하기 위하여 유용한 정보를 제공하지 않을 수도 있다. 따라서, 향후 프레임 (710) 이 낮은 정확성 프레임인 경우, 향상된 PLC 가 이용되지 않을 수도 있다. 대신에, 종래의 PLC 기법들이 프레임 소거를 은닉하는데 이용될 수도 있다.
현재 소거된 프레임 전의 이전 프레임 (720) 이 안정된 유성음 프레임인 경우, 그것은 이전 프레임 (720) 이 안정된 음성 구간에 위치한다는 것을 의미할 수도 있다. 따라서, 종래의 PLC 알고리즘은 미싱 프레임을 적극적으로 복원하려고 시도할 수도 있다. 종래의 PLC 는 버지 아티팩트를 생성할 수도 있다. 따라서, 이전 프레임 (720) 이 안정된 유성음 프레임이고 향후 프레임 (710) 이 CELP 프레임 또는 무성음 스피치 코딩 프레임일 때, 프레임 소거를 위해 향상된 PLC 알고리즘이 이용될 수도 있다. 그 후, CELP 향상된 PLC 알고리즘은 버지 아티팩트들을 회피하는데 이용될 수도 있다. CELP 향상된 PLC 알고리즘은 CELP 향상된 PLC 모듈 (724) 에 의해 구현될 수도 있다.
향후 프레임 (710) 이 액티브 스피치 프로토타입 피치 주기 (FPPP) 프레임인 경우, 유성음 스피치 코딩 스킴-향상된 PLC 알고리즘이 이용될 수도 있다. 유성음 스피치 코딩 스킴-향상된 PLC 알고리즘은 유성음 스피치 코딩 스킴-향상된 PLC 모듈 (726) (이를 테면 프로토타입 피치 주기 (PPP)-향상된 PLC 모듈) 에 의해 구현될 수도 있다.
일 구성에서, 향후 프레임은 백워드 (backward) 외삽을 행하는데 이용될 수도 있다. 예를 들어, 무성음 스피치 코딩 프레임 전에 소거가 일어난다면, 파라미터들은 향후 무성음 스피치 코딩 프레임으로부터 추정될 수도 있다. 이것은 종래의 PLC 와 다르며, 여기서 파라미터들은 현재 소거된 프레임 전의 프레임으로부터 추정된다.
CELP-향상된 PLC 모듈 (724) 은 미싱 프레임들을 CELP 프레임들로서 취급할 수도 있다. CELP-향상된 PLC 모듈에서, 현재 소거된 프레임 (프레임 n) 의 스펙트럼 포락선 파라미터들, 지연, 적응적 코드북 (ACB) 이득 및 고정 코드북 (FCB) 이득은 이전 프레임, 즉 프레임 (n-1) 과 향후 프레임, 즉 프레임 (n+m) 간의 보간에 의해 추정될 수도 있다. 고정 코드북 인덱스는 랜덤으로 생성될 수도 있으며, 그 후 현재 소거된 프레임이 이들 추정된 값들에 기초하여 복원될 수도 있다.
향후 프레임 (710) 이 액티브 스피치 코드 여기 선형 예측 (FCELP) 프레임인 경우, 향후 프레임 (710) 은 델타-지연 필드를 포함할 수도 있는데, 그로부터 향후 프레임 (710) 전의 프레임의 피치 래그가 결정될 수도 있다 (즉, 프레임 (n+m-1)). 현재 소거된 프레임의 지연은 (n-1) 번째 프레임과 (n+m-1) 번째 프레임의 지연 값들 간의 보간에 의해 추정될 수도 있다. 지연 값들의 보간 전에 피치 더블링/트리플링이 검출 및 핸들링될 수도 있다.
이전 프레임 (720)/향후 프레임 (710) 이 유성음 스피치 코딩 프레임들 또는 무성음 스피치 코딩 프레임들인 경우에, 적응적 코드북 이득 및 고정 코드북 이득과 같은 파라미터들이 존재하지 않을 수도 있다. 이러한 경우에, 이들 파라미터들에 대한 일부 인공 값들 (artificial values) 이 생성될 수도 있다. 무성음 스피치 코딩 프레임들의 경우에는, ACB 이득 및 FCB 이득이 0 으로 설정될 수도 있다. 유성음 스피치 코딩 프레임들의 경우, FCB 이득은 0 으로 설정될 수도 있고, ACB 이득은 이전 프레임 전의 프레임과 이전 프레임 사이의 잔여 도메인에서의 피치-사이클 파형 에너지들의 비율에 기초하여 결정될 수도 있다. 예를 들어, 현재 소거된 프레임을 은닉하는데 이전 프레임이 이용되고, CELP 프레임 및 CELP 모드가 이용되지 않는다면, CELP 프레임이 아닌 경우라도 이전 프레임의 파라미터들로부터 acb_gain 을 추정하는데 모듈이 이용될 수도 있다.
임의의 코딩 방법의 경우에, 향상된 PLC 를 행하기 위해, 파라미터들이 이전 프레임 및 향후 프레임들에 기초하여 보간될 수도 있다. 유사성 표시자가 이전 프레임과 향후 프레임 간의 유사성을 나타내기 위해 계산될 수도 있다. 그 표시자가 일부 임계값보다 낮다면 (즉, 매우 유사하지 않다면), 일부 파라미터들은 향상된 PLC 로부터 추정되지 않을 수도 있다. 대신에, 종래의 PLC 가 이용될 수도 있다.
CELP 프레임과 무성음 스피치 코딩 프레임 사이에 하나 이상의 소거가 있을 때, CELP 소거 프로세싱 중의 감쇠로 인해, 최근 은닉된 프레임의 에너지가 매우 낮을 수도 있다. 이것은 최근 은닉된 프레임과 다음의 양호한 무성음 스피치 코딩 프레임 사이의 에너지 불연속성 (discontinuity) 의 원인이 될 수도 있다. 이전에 언급한 바와 같이, 무성음 스피치 디코딩 스킴들은 이 최근 소거된 프레임을 은닉하는데 이용될 수도 있다.
일 구성에서, 소거된 프레임은 무성음 스피치 코딩 프레임으로서 취급될 수도 있다. 파라미터들은 향후 무성음 스피치 코딩 프레임으로부터 카피될 수도 있다. 디코딩은 복원된 잔여 신호에 대한 평활화 동작을 제외하고는 정규의 무성음 스피치 디코딩과 동일할 수도 있다. 평활화는, 에너지 연속성을 달성하기 위해, 이전 CELP 프레임 내의 잔여 신호의 에너지 및 현재 프레임 내의 잔여 신호의 에너지에 기초하여 행해진다.
일 구성에서, 갭 표시자 (708) 는 보간 계수 (IF) 계산기 (730) 에 제공될 수도 있다. IF (729) 는 다음과 같이 계산될 수도 있다 :
Figure pct00001
소거된 프레임 (n) 의 파라미터가 이전 프레임 (n-1) 및 향후 프레임 (710) (n+m) 의 파라미터들로부터 보간될 수도 있다. 소거된 파라미터 (P) 는 다음과 같이 보간될 수도 있다 :
Figure pct00002
광대역 스피치 코덱에서의 향상된 PLC 방법들을 구현하는 것은 비광대역 스피치 코덱에서의 향상된 PLC 방법들을 구현하는 것으로부터의 연장일 수도 있다. 광대역 스피치 코덱의 로우-대역에서의 향상된 PLC 프로세싱은 비광대역 스피치 코덱에서의 향상된 PLC 프로세싱과 동일할 수도 있다. 광대역 스피치 코덱에서의 하이-대역 파라미터들의 경우에는, 다음이 적용될 수도 있다 : 하이-대역 파라미터들은, 로우-대역 파라미터들이 다중 파라미터들-향상된 PLC 방법들 (즉, CELP-향상된 PLC 또는 유성음 스피치 코딩 스킴-향상된 PLC) 에 의해 추정될 때 보간에 의해 추정될 수도 있다.
프레임 소거가 일어나고, 버퍼 (202) 에 적어도 하나의 향후 프레임이 존재할 때, 디지터 버퍼 (202) 는 향후 프레임을 전송할지 여부를 결정할 책임이 있을 수도 있다. 일 구성에서, 디지터 버퍼 (202) 는 버퍼 내의 제 1 향후 프레임이 묵음 프레임이 아닐 때, 그리고 갭 표시자 (708) 가 소정의 값 이하일 때 제 1 향후 프레임을 디코더 (108) 로 전송할 것이다. 예를 들어, 소정의 값은 "4" 일 수도 있다. 그러나, 이전 프레임 (720) 이 종래의 PLC 방법들에 의해 복원되고 이전 프레임 (720) 이 로우 (row) 에서의 제 2 종래의 PLC 프레임인 경우의 상황에서는, 디지터 버퍼 (202) 는, 갭 표시자가 소정의 값 이하라면 향후 프레임 (710) 을 전송할 수도 있다. 예를 들어, 소정의 값은 "2" 일 수도 있다. 또한, 이전 프레임 (720) 이 종래의 PLC 방법들에 의해 복원되고 이전 프레임 (720) 이 로우에서의 적어도 제 3 종래의 PLC 프레임인 경우의 상황에서, 디지터 버퍼 (202) 는 디코더에 향후 프레임 (710) 을 공급하지 않을 수도 있다.
일 예에서, 디지터 버퍼 (202) 에 2 개 이상의 프레임이 존재한다면, 제 1 향후 프레임은 향상된 PLC 방법들 동안 이용되도록 디코더 (108) 로 전송될 수도 있다. 2 개 이상의 향후 프레임들이 버퍼 내에 존재할 때, 더 낮은 레이트 프레임보다 더 높은 레이트 프레임이 소거된 프레임으로부터 더 멀리 떨어져 있는 경우라도, 더 높은 레이트 프레임이 선정될 수도 있다. 대안으로, 2 개 이상의 향후 프레임들이 버퍼 내에 존재할 때, 소거된 프레임에 시간상 가장 근접한 프레임은, 그 시간상 가장 근접한 프레임이 다른 향후 프레임보다 더 낮은 레이트 프레임인지 여부에 관계없이, 디코더 (108) 로 전송될 수도 있다.
도 8 은 무선 디바이스 (802) 에서 이용될 수도 있는 다양한 컴포넌트들을 예시한다. 무선 디바이스 (802) 는 여기에 설명된 다양한 방법들을 구현하도록 구성될 수도 있는 디바이스의 일 예이다. 무선 디바이스 (802) 는 원격국일 수도 있다.
무선 디바이스 (802) 는 그 무선 디바이스 (802) 의 동작을 제어하는 프로세서 (804) 를 포함할 수도 있다. 프로세서 (804) 는 중앙 처리 장치 (CPU) 라고도 지칭될 수도 있다. 판독 전용 메모리 (ROM) 와 랜덤 액세스 메모리 (RAM) 양방을 포함할 수도 있는 메모리 (806) 가 프로세서 (804) 에 명령들 및 데이터를 제공한다. 메모리 (806) 의 일부가 또한 비휘발성 랜덤 액세스 메모리 (NVRAM) 를 포함할 수도 있다. 프로세서 (804) 는 통상적으로 메모리 (806) 내에 저장된 프로그램 명령들에 기초하여 논리 연산 및 산술 연산을 수행한다. 메모리 (806) 내의 명령들은 여기에 설명된 방법들을 구현하도록 실행가능할 수도 있다.
무선 디바이스 (802) 는 또한 무선 디바이스 (802) 와 원격지 사이에서의 데이터의 송신 및 수신을 허용하기 위해 송신기 (810) 및 수신기 (812) 를 포함할 수도 있는 하우징 (808) 을 포함할 수도 있다. 송신기 (810) 및 수신기 (812) 는 트랜시버 (814) 로 결합될 수도 있다. 안테나 (816) 가 하우징 (808) 에 부착되고 트랜시버 (814) 에 전기적으로 커플링될 수도 있다. 무선 디바이스 (802) 는 또한 (미도시된) 다중 송신기들, 다중 수신기들, 다중 트랜시버들 및/또는 다중 안테나를 포함할 수도 있다.
무선 디바이스 (802) 는 또한 트랜시버 (814) 에 의해 수신된 신호들의 레벨을 검출 및 양자화하는데 이용될 수도 있는 신호 검출기 (818) 를 포함할 수도 있다. 신호 검출기 (818) 는 총 에너지, 의사잡음 (PN) 칩들당 파일롯 에너지, 전력 스펙트럼 밀도와 같은 그러한 신호들, 및 다른 신호들을 검출할 수도 있다. 무선 디바이스 (802) 는 또한 신호들을 프로세싱하는데 이용하기 위해 디지털 신호 프로세서 (DSP) (820) 를 포함할 수도 있다.
무선 디바이스 (802) 의 다양한 컴포넌트들은 데이터 버스에 더하여 전력 버스, 제어 신호 버스 및 상태 신호 버스를 포함할 수도 있는 버스 시스템 (822) 에 의해 함께 커플링될 수도 있다. 그러나, 명료성을 위해, 다양한 버스들은 도 8 에 버스 시스템 (822) 으로서 예시된다.
여기에 사용한 바와 같이, 용어 "결정하는 것 (determining)" 은 광범위한 액션들을 포함하기 때문에, "결정하는 것" 은 계산하는 것 (calculating), 컴퓨팅하는 것 (computing), 프로세싱하는 것 (processing), 유도하는 것 (deriving), 조사하는 것 (investigating), 룩업하는 것 (looking up) (예를 들어, 테이블, 데이터베이스 또는 다른 데이터 구조에서 룩업하는 것), 확인하는 것 (ascertaining) 등등을 포함할 수 있다. 또한, "결정하는 것" 은 수신하는 것 (receiving) (예를 들어, 정보를 수신하는 것), 액세스하는 것 (accessing) (예를 들어, 메모리 내의 데이터에 액세스하는 것) 등등을 포함할 수 있다. 또한, "결정하는 것" 은 해결하는 것 (resolving), 선택하는 것 (selecting), 선정하는 것 (choosing), 확립하는 것 (establishing) 등등을 포함할 수 있다.
구 "~ 에 기초하여 (based on)" 는 다르게 명확히 특정하지 않았다면, "~ 에만 기초하여 (based only on)" 를 의미하는 것이 아니다. 즉, 구 "~ 에 기초하여" 는 "~ 에만 기초하여" 와 "적어도 ~ 에 기초하여 (based at least on)" 양자를 기술한다.
본 개시물과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들 및 회로들은 여기에 설명된 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능한 게이트 어레이 신호 (FPGA) 또는 다른 프로그램가능한 로직 디바이스, 별개의 게이트 또는 트랜지스터 로직, 별개의 하드웨어 컴포넌트들 또는 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안에서, 프로세서는 임의의 상업적으로 입수가능한 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들 또는 임의의 다른 이러한 구성의 조합으로서 구현될 수도 있다.
본 개시물과 관련하여 설명된 방법 또는 알고리즘의 단계들은 직접 하드웨어에, 프로세서에 의해 실행된 소프트웨어 모듈에 또는 이 둘의 조합에 구현될 수도 있다. 소프트웨어 모듈은 당업계에 알려져 있는 임의의 형태의 저장 매체에 상주할 수도 있다. 이용될 수도 있는 저장 매체의 일부 예는 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM 등을 포함한다. 소프트웨어 모듈은 단일의 명령, 또는 다수의 명령들을 포함할 수도 있으며, 여러 상이한 코드 세그먼트들에, 상이한 프로그램들 간에 그리고 다중 저장 매체에 걸쳐 분포될 수도 있다. 저장 매체는 프로세서에 커플링될 수도 있어, 그 프로세서가 그 저장 매체로부터 정보를 판독하고 그 저장 매체에 정보를 기록할 수 있도록 한다. 대안으로, 저장 매체는 프로세서와 일체형일 수도 있다.
여기에 개시된 방법들은 상기 설명된 방법을 달성하기 위한 하나 이상의 단계들 및/또는 액션들을 포함한다. 이 방법 단계들 및/또는 액션들은 특허청구의 범위로부터의 일탈 없이 서로 교환될 수도 있다. 즉, 단계들 또는 액션들의 특정 순서가 특정되지 않는다면, 특정 단계들 및/또는 액션들의 순서 및/또는 이용은 특허청구의 범위로부터의 일탈 없이 변형될 수도 있다.
상기 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합에 구현될 수도 있다. 소프트웨어에 구현한 경우, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들로서 저장될 수도 있다. 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 제한이 아닌 일 예로, 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수도 있다. 디스크 (disk) 및 디스크 (disc) 는, 여기에 사용한 바와 같이, 콤팩트 디스크 (compact disc; CD), 레이저 디스크 (laser disc), 광학 디스크 (optical disc), 디지털 다기능 디스크 (digital versatile disc; DVD), 플로피 디스크 (floppy disk) 및 블루-레이 디스크를 포함하며, 여기서 디스크 (disk) 는 보통 데이터를 자기적으로 재생시키는 한편, 디스크 (disc) 는 레이저를 이용하여 데이터를 광학적으로 재생시킨다.
소프트웨어 또는 명령들은 또한 송신 매체를 통해 송신될 수도 있다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 (DSL), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 송신된다면, 송신 매체의 정의에는, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들이 포함된다.
또한, 도 4 내지 도 7 에 의해 예시된 것과 같이, 여기에 설명된 방법들 및 기법들을 수행하는 모듈들 및/또는 다른 적절한 수단이 적용가능한 것처럼 모바일 디바이스 및/또는 기지국에 의해 다운로딩 및/또는 다르게는 획득될 수 있다는 것을 알아야 한다. 예를 들어, 이러한 디바이스는 여기에 설명된 방법들을 수행하는 수단의 전달을 용이하게 하도록 서버에 커플링될 수 있다. 대안으로, 여기에 설명된 다양한 방법들은, 모바일 디바이스 및/또는 기지국이 그 디바이스에 저장 수단을 커플링 또는 제공할 시에 다양한 방법들을 획득할 수 있도록, 저장 수단 (예를 들어, 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 콤팩트 디스크 (CD) 또는 플로피 디스크와 같은 물리적 저장 매체 등) 을 통해 제공될 수 있다. 또한, 여기에 설명된 방법들 및 기법들을 디바이스에 제공하는 임의의 다른 적절한 기법이 이용될 수 있다.
청구항은 상기 예시된 정확한 구성 및 컴포넌트들에 한정되지 않는다는 것을 이해하게 될 것이다. 특허청구의 범위로부터의 일탈 없이 여기에 설명된 시스템들, 방법들 및 장치의 배열, 동작 및 상세에 있어서 다양한 변형, 변경 및 변화가 행해질 수도 있다.

Claims (34)

  1. 소거된 스피치 프레임을 복원하는 방법으로서,
    버퍼로부터 제 2 스피치 프레임을 수신하는 단계로서, 상기 제 2 스피치 프레임의 인덱스 위치는 상기 소거된 스피치 프레임의 인덱스 위치보다 큰, 상기 수신 단계;
    상기 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방에 기초하여 어느 타입의 패킷 손실 은닉 (packet loss concealment; PLC) 방법을 이용할지를 결정하는 단계로서, 상기 제 3 스피치 프레임의 인덱스 위치는 상기 소거된 스피치 프레임의 인덱스 위치보다 작은, 상기 결정 단계; 및
    상기 제 2 스피치 프레임과 상기 제 3 스피치 프레임 중 일방 또는 양방으로부터 상기 소거된 스피치 프레임을 복원하는 단계를 포함하는, 소거된 스피치 프레임의 복원 방법.
  2. 제 1 항에 있어서,
    표시자를 수신하는 단계를 더 포함하며,
    상기 표시자는 상기 소거된 스피치 프레임의 인덱스 위치와 상기 제 2 스피치 프레임의 인덱스 위치 사이의 차이를 나타내는, 소거된 스피치 프레임의 복원 방법.
  3. 제 1 항에 있어서,
    상기 제 2 스피치 프레임과 관련된 프레임 레이트 및 프레임 타입을 수신하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  4. 제 1 항에 있어서,
    상기 제 2 스피치 프레임의 파라미터 및 상기 제 3 스피치 프레임의 파라미터를 이용하여 상기 소거된 스피치 프레임의 파라미터를 보간하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  5. 제 1 항에 있어서,
    상기 소거된 스피치 프레임을 검출하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  6. 제 2 항에 있어서,
    상기 표시자를 임계값과 비교하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  7. 제 2 항에 있어서,
    상기 표시자로부터 보간 계수를 계산하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  8. 제 7 항에 있어서,
    상기 보간 계수는
    Figure pct00003
    로서 계산되며,
    여기서 IF 는 상기 보간 계수이고, m 은 상기 표시자인, 소거된 스피치 프레임의 복원 방법.
  9. 제 1 항에 있어서,
    상기 소거된 스피치 프레임을 복원하기 위한 복수의 기법들 중 하나의 기법을 선택하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  10. 제 9 항에 있어서,
    상기 소거된 스피치 프레임은 코드 여기 선형 예측 (code excited linear prediction; CELP) 프레임인, 소거된 스피치 프레임의 복원 방법.
  11. 제 9 항에 있어서,
    상기 소거된 스피치 프레임은 프로토타입 피치 주기 (prototype pitch period; PPP) 프레임인, 소거된 스피치 프레임의 복원 방법.
  12. 제 1 항에 있어서,
    상기 버퍼는 2 개 이상의 스피치 프레임들을 포함하며,
    상기 스피치 프레임들 중 일부 스피치 프레임들의 인덱스 위치는 상기 소거된 스피치 프레임의 인덱스 위치보다 크고, 다른 스피치 프레임들의 인덱스 위치는 상기 소거된 스피치 프레임의 인덱스 위치보다 작은, 소거된 스피치 프레임의 복원 방법.
  13. 제 12 항에 있어서,
    상기 버퍼 내에서 상기 스피치 프레임들 중 하나의 스피치 프레임을 선택하는 단계를 더 포함하며,
    상기 스피치 프레임은 상기 스피치 프레임의 코딩 레이트, 코딩 타입, 또는 시간 접근성 (temporal closeness) 에 기초하여 선택되는, 소거된 스피치 프레임의 복원 방법.
  14. 제 12 항에 있어서,
    상기 버퍼 내에서 상기 스피치 프레임들 중 하나의 스피치 프레임을 선택하는 단계를 더 포함하며,
    상기 스피치 프레임은 상기 버퍼 내의 상기 프레임의 사이즈에 기초하여 선택되는, 소거된 스피치 프레임의 복원 방법.
  15. 제 1 항에 있어서,
    상기 제 2 스피치 프레임의 무결성 (integrity) 을 입증하기 위해 부정 레이트 검사 (bad-rate check) 를 적용하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  16. 제 1 항에 있어서,
    상기 제 3 스피치 프레임의 프레임 타입은 상기 제 2 스피치 프레임의 프레임 타입과는 상이한, 소거된 스피치 프레임의 복원 방법.
  17. 제 1 항에 있어서,
    향상된 (enhanced) 패킷 손실 은닉 알고리즘을 구현할지 또는 종래의 (conventioanl) 패킷 손실 은닉 알고리즘을 구현할지 여부를 결정하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  18. 제 17 항에 있어서,
    상기 향상된 패킷 손실 은닉 알고리즘이 구현되며,
    상기 향상된 패킷 손실 은닉 알고리즘으로부터 아티팩트들 (artifacts) 이 생성되는지 여부를 결정하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  19. 제 17 항에 있어서,
    상기 결정은 상기 제 2 스피치 프레임과 상기 제 3 스피치 프레임 중 일방 또는 양방의 프레임 레이트 및 프레임 타입에 기초하는, 소거된 스피치 프레임의 복원 방법.
  20. 제 17 항에 있어서,
    상기 결정은 상기 제 2 스피치 프레임과 상기 제 3 스피치 프레임의 유사성에 기초하는, 소거된 스피치 프레임의 복원 방법.
  21. 제 20 항에 있어서,
    상기 유사성을 스펙트럼 포락선 추정치 (spectrum envelope estimate) 또는 피치 파형 (pitch waveform) 에 기초하여 계산하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  22. 제 1 항에 있어서,
    상기 제 2 스피치 프레임 및 상기 제 3 스피치 프레임의 특성들에 기초하여 보간 계수를 선택하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  23. 제 1 항에 있어서,
    상기 소거된 스피치 프레임의 파라미터들을 백워드 외삽 (backward-extrapolation) 을 이용하여 추정하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  24. 제 23 항에 있어서,
    상기 제 2 스피치 프레임 및 상기 제 3 스피치 프레임의 프레임 타입 및 특성들에 기초하여 상기 백워드 외삽을 이용할지 여부를 결정하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  25. 제 1 항에 있어서,
    상기 소거된 스피치 프레임을 복원하기 위해 상기 제 2 프레임의 파라미터들의 일부를 보간하는 단계를 더 포함하는, 소거된 스피치 프레임의 복원 방법.
  26. 소거된 스피치 프레임을 복원하는 무선 디바이스로서,
    스피치 프레임들의 시퀀스를 수신하도록 구성된 버퍼; 및
    상기 스피치 프레임들의 시퀀스를 디코딩하도록 구성된 음성 디코더를 포함하며,
    상기 음성 디코더는 :
    다음의 타입들, 즉 후속 프레임들과 이전 프레임들 중 일방의 하나 이상의 프레임들로부터 상기 소거된 스피치 프레임을 복원하도록 구성된 프레임 소거 은닉 모듈 (frame erasure concealment module) 을 포함하며,
    상기 후속 프레임들은 상기 버퍼에서 상기 소거된 스피치 프레임의 인덱스 위치보다 큰 인덱스 위치를 포함하고, 상기 이전 프레임들은 상기 버퍼에서 상기 소거된 스피치 프레임의 인덱스 위치보다 작은 인덱스 위치를 포함하는, 무선 디바이스.
  27. 제 26 항에 있어서,
    상기 프레임 소거 은닉 모듈은 또한, 하나 이상의 상기 후속 프레임들의 파라미터 및 하나 이상의 상기 이전 프레임들의 파라미터를 이용하여 상기 소거된 스피치 프레임의 파라미터를 보간하도록 구성되는, 무선 디바이스.
  28. 제 26 항에 있어서,
    상기 음성 디코더는 또한, 상기 소거된 스피치 프레임을 검출하도록 구성되는, 무선 디바이스.
  29. 제 26 항에 있어서,
    상기 프레임 소거 은닉 모듈은 또한, 표시자를 수신하도록 구성되며,
    상기 표시자는 상기 소거된 스피치 프레임의 인덱스 위치와 상기 버퍼 내의 제 2 스피치 프레임의 인덱스 위치 사이의 차이를 나타내는, 무선 디바이스.
  30. 제 29 항에 있어서,
    상기 프레임 소거 은닉 모듈은 또한, 상기 표시자가 임계값을 넘는지를 결정하도록 구성되는, 무선 디바이스.
  31. 제 29 항에 있어서,
    상기 프레임 소거 은닉 모듈은 또한, 상기 표시자로부터 보간 계수를 계산하도록 구성되는, 무선 디바이스.
  32. 제 26 항에 있어서,
    상기 무선 디바이스는 핸드셋인, 무선 디바이스.
  33. 소거된 스피치 프레임을 복원하는 장치로서,
    버퍼로부터 제 2 스피치 프레임을 수신하는 수단으로서, 상기 제 2 스피치 프레임의 인덱스 위치는 상기 소거된 스피치 프레임의 인덱스 위치보다 큰, 상기 수신 수단;
    상기 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방에 기초하여 어느 타입의 패킷 손실 은닉 (packet loss concealment; PLC) 방법을 이용할지를 결정하는 수단으로서, 상기 제 3 스피치 프레임의 인덱스 위치는 상기 소거된 스피치 프레임의 인덱스 위치보다 작은, 상기 결정 수단; 및
    상기 제 2 스피치 프레임과 상기 제 3 스피치 프레임 중 일방 또는 양방으로부터 상기 소거된 스피치 프레임을 복원하는 수단을 포함하는, 소거된 스피치 프레임의 복원 장치.
  34. 명령들을 가지고 있는 컴퓨터 판독가능 매체를 포함하는, 소거된 스피치 프레임을 복원하기 위한 컴퓨터 프로그램 제품으로서,
    상기 명령들은 :
    버퍼로부터 제 2 스피치 프레임을 수신하기 위한 코드로서, 상기 제 2 스피치 프레임의 인덱스 위치는 상기 소거된 스피치 프레임의 인덱스 위치보다 큰, 상기 수신하기 위한 코드;
    상기 제 2 스피치 프레임과 제 3 스피치 프레임 중 일방 또는 양방에 기초하여 어느 타입의 패킷 손실 은닉 (packet loss concealment; PLC) 방법을 이용할지를 결정하기 위한 코드로서, 상기 제 3 스피치 프레임의 인덱스 위치는 상기 소거된 스피치 프레임의 인덱스 위치보다 작은, 상기 결정하기 위한 코드; 및
    상기 제 2 스피치 프레임과 상기 제 3 스피치 프레임 중 일방 또는 양방으로부터 상기 소거된 스피치 프레임을 복원하기 위한 코드를 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
KR1020127000187A 2009-06-04 2010-06-03 소거된 스피치 프레임을 복원하는 시스템 및 방법 KR101290425B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/478,460 US8428938B2 (en) 2009-06-04 2009-06-04 Systems and methods for reconstructing an erased speech frame
US12/478,460 2009-06-04
PCT/US2010/037302 WO2010141755A1 (en) 2009-06-04 2010-06-03 Systems and methods for reconstructing an erased speech frame

Publications (2)

Publication Number Publication Date
KR20120019503A true KR20120019503A (ko) 2012-03-06
KR101290425B1 KR101290425B1 (ko) 2013-07-29

Family

ID=42558205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127000187A KR101290425B1 (ko) 2009-06-04 2010-06-03 소거된 스피치 프레임을 복원하는 시스템 및 방법

Country Status (8)

Country Link
US (1) US8428938B2 (ko)
EP (1) EP2438592B1 (ko)
JP (1) JP5405659B2 (ko)
KR (1) KR101290425B1 (ko)
CN (1) CN102449690B (ko)
ES (1) ES2401171T3 (ko)
TW (1) TWI436349B (ko)
WO (1) WO2010141755A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160002920A (ko) * 2013-04-18 2016-01-08 오렌지 노이즈 주입이 가중된 프레임 손실 보정

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120032444A (ko) * 2010-09-28 2012-04-05 한국전자통신연구원 적응 코드북 업데이트를 이용한 오디오 신호 디코딩 방법 및 장치
US9026434B2 (en) * 2011-04-11 2015-05-05 Samsung Electronic Co., Ltd. Frame erasure concealment for a multi rate speech and audio codec
CN103886863A (zh) 2012-12-20 2014-06-25 杜比实验室特许公司 音频处理设备及音频处理方法
US9842598B2 (en) * 2013-02-21 2017-12-12 Qualcomm Incorporated Systems and methods for mitigating potential frame instability
US9336789B2 (en) * 2013-02-21 2016-05-10 Qualcomm Incorporated Systems and methods for determining an interpolation factor set for synthesizing a speech signal
CN105453173B (zh) * 2013-06-21 2019-08-06 弗朗霍夫应用科学研究促进协会 利用改进的脉冲再同步化的似acelp隐藏中的自适应码本的改进隐藏的装置及方法
EP3011560B1 (en) * 2013-06-21 2018-08-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder having a bandwidth extension module with an energy adjusting module
PL3011554T3 (pl) 2013-06-21 2019-12-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Szacowanie opóźnienia wysokości tonu
CN107818789B (zh) 2013-07-16 2020-11-17 华为技术有限公司 解码方法和解码装置
CN104301064B (zh) 2013-07-16 2018-05-04 华为技术有限公司 处理丢失帧的方法和解码器
US10614816B2 (en) * 2013-10-11 2020-04-07 Qualcomm Incorporated Systems and methods of communicating redundant frame information
EP3483881A1 (en) 2013-11-13 2019-05-15 Fraunhofer Gesellschaft zur Förderung der Angewand Encoder for encoding an audio signal, audio transmission system and method for determining correction values
CN104751849B (zh) 2013-12-31 2017-04-19 华为技术有限公司 语音频码流的解码方法及装置
WO2015134579A1 (en) 2014-03-04 2015-09-11 Interactive Intelligence Group, Inc. System and method to correct for packet loss in asr systems
CN107369454B (zh) * 2014-03-21 2020-10-27 华为技术有限公司 语音频码流的解码方法及装置
CN106683681B (zh) 2014-06-25 2020-09-25 华为技术有限公司 处理丢失帧的方法和装置
US9984699B2 (en) 2014-06-26 2018-05-29 Qualcomm Incorporated High-band signal coding using mismatched frequency ranges
US9680507B2 (en) 2014-07-22 2017-06-13 Qualcomm Incorporated Offset selection for error correction data
CN112216289B (zh) * 2014-07-28 2023-10-27 三星电子株式会社 用于音频信号的时域数据包丢失隐藏的方法
CN108011686B (zh) * 2016-10-31 2020-07-14 腾讯科技(深圳)有限公司 信息编码帧丢失恢复方法和装置
US10217466B2 (en) * 2017-04-26 2019-02-26 Cisco Technology, Inc. Voice data compensation with machine learning
CN109496333A (zh) * 2017-06-26 2019-03-19 华为技术有限公司 一种丢帧补偿方法及设备
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483878A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
EP3483880A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
WO2019091573A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
EP3483884A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
SG11202110071XA (en) * 2019-03-25 2021-10-28 Razer Asia Pacific Pte Ltd Method and apparatus for using incremental search sequence in audio error concealment

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
CN1906663B (zh) 2004-05-10 2010-06-02 日本电信电话株式会社 声学信号分组通信方法、传送方法、接收方法、及其设备和程序
US7519535B2 (en) 2005-01-31 2009-04-14 Qualcomm Incorporated Frame erasure concealment in voice communications
US8355907B2 (en) 2005-03-11 2013-01-15 Qualcomm Incorporated Method and apparatus for phase matching frames in vocoders
US8155965B2 (en) 2005-03-11 2012-04-10 Qualcomm Incorporated Time warping frames inside the vocoder by modifying the residual
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
CN101000768B (zh) 2006-06-21 2010-12-08 北京工业大学 嵌入式语音编解码的方法及编解码器
US8239190B2 (en) 2006-08-22 2012-08-07 Qualcomm Incorporated Time-warping frames of wideband vocoder
CN101155140A (zh) 2006-10-01 2008-04-02 华为技术有限公司 音频流错误隐藏的方法、装置和系统
KR20090076964A (ko) 2006-11-10 2009-07-13 파나소닉 주식회사 파라미터 복호 장치, 파라미터 부호화 장치 및 파라미터 복호 방법
US8000961B2 (en) * 2006-12-26 2011-08-16 Yang Gao Gain quantization system for speech coding to improve packet loss concealment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160002920A (ko) * 2013-04-18 2016-01-08 오렌지 노이즈 주입이 가중된 프레임 손실 보정

Also Published As

Publication number Publication date
US8428938B2 (en) 2013-04-23
TW201126510A (en) 2011-08-01
JP2012529082A (ja) 2012-11-15
CN102449690A (zh) 2012-05-09
TWI436349B (zh) 2014-05-01
WO2010141755A1 (en) 2010-12-09
KR101290425B1 (ko) 2013-07-29
EP2438592B1 (en) 2013-02-13
JP5405659B2 (ja) 2014-02-05
EP2438592A1 (en) 2012-04-11
CN102449690B (zh) 2014-05-07
ES2401171T3 (es) 2013-04-17
US20100312553A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
KR101290425B1 (ko) 소거된 스피치 프레임을 복원하는 시스템 및 방법
TWI464734B (zh) 用於在一語音訊框內避免資訊流失的系統與方法
KR100956522B1 (ko) 음성 통신에서의 프레임 소거 은닉
CN112786060B (zh) 用于对音频内容进行编码和解码的编码器、解码器和方法
JP6768886B2 (ja) 冗長フレーム情報を通信するシステムおよび方法
RU2419167C2 (ru) Система, способы и устройство для восстановления при стирании кадра
EP2026330B1 (en) Device and method for lost frame concealment

Legal Events

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

Payment date: 20160629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 7